Задание крона, который Экран Начальных загрузок в Start

Я пытаюсь настроить много процессов, которые запускаются во время начальной загрузки (серверы для игр) с ниже команды как объект крона:

@reboot /usr/bin/screen -fa -d -m -S NAME COMMAND

Однако, если сервер отказывает для того, что когда-либо обосновывает экранные завершения, и сервер не получает шанс работать, это - автоматический перезапуск (насколько я понимаю; экран не видит процессов в сокете и так завершения).

Существует ли способ, которым я могу обойти это, так экранируйте, будет находиться там, даже если ничто не будет работать в нем? Как открытие оболочки?

0
задан 15.04.2013, 18:27

1 ответ

Данная команда является ребенком экрана, поэтому когда это выходит, окно является глухим.

Можно обойти это, запустив оболочку и затем продвинув вход в окно выполнить команду, но это просто изменяет проблему так, чтобы Вас оставили с непрекращающимся приглашением оболочки, и сервер не перезапустится автоматически.

Действительно, Вы хотите выполнить активную команду, которая затем выполняет сервер, которым Вы интересуетесь. Там существует много инструментов, но самое простое должно записать что-то в оболочке самостоятельно (если Вы не хотите полной мощности специальных инструментов.

#!/bin/sh
while [ ! -f /home/servicename/shutdown-flagfile ]; do
  echo "Starting server [$(date)]"
  server-binary-name "$@"
  sleep 1
done

Строка 2 позволяет Вам убежать из цикла путем создания специального файла (с "касанием"), двоичное имя сервера является программой для реального выполнения, "$" должен пройти через опции, что обертка была вызвана с, и сон 1 - то, так, чтобы, если сервер умирает на запуске, Вы не жевали весь ЦП, неоднократно перезапускающий его тысячи времен в секунду, так, чтобы было трудно войти и видеть то, что происходит. Строка эха просто позволяет Вам видеть, когда сервер в последний раз должен был быть перезапущен.

0
ответ дан 27.11.2019, 18:38

Теги

Похожие вопросы