Как сделать серверный демон, который автоматически запускается при неожиданном завершении работы? - PullRequest
0 голосов
/ 17 ноября 2011

Я пытаюсь запустить OrientDB в Ubuntu. В настоящее время я работаю с bin/server.sh. Это прекрасно работает, за исключением того, что работает на переднем плане на оболочке. Я могу заставить его работать в фоновом режиме с помощью команд Ctrl+Z и bg, но это не значит, что он работает как демон.

Хотелось бы, чтобы программа продолжала работать после выхода из системы. И будет запущен снова, когда он неожиданно завершится или ОС перезапустится. Как MS Windows Services. Но проблема в том, что я не знаю, как мне это сделать.

Как я могу запустить программу как долго работающую службу?

1 Ответ

0 голосов
/ 17 ноября 2011

Если вы не являетесь владельцем сервера, посмотрите на команду «screen». Это позволит вам выполнить команду, отсоединиться от консоли, где она выполняется, а затем выйти из системы, оставив ее в рабочем состоянии. Вы можете повторно подключиться к рабочему экрану, чтобы увидеть вывод или перезапустить скрипт. Вот больше информации о команде экрана: http://www.manpagez.com/man/1/screen/

Если у вас есть сервер, вы должны написать сценарий инициализации. Это не очень сложно, и вы можете настроить его на автоматический запуск при запуске. Система запустит скрипт с параметром «start», когда вы хотите его запустить, и параметром «stop», когда вы хотите, чтобы он остановился. Вот более подробная информация: http://www.novell.com/coolsolutions/feature/15380.html

Если команда еще не отсоединяется от консоли (запускается в режиме демона), то в сценарии инициализации поместите команду в круглых скобках для запуска в собственной оболочке. Вы не увидите вывод, если не передадите его в файл в скобках.

(bin/server.sh >> /var/log/server.log)
...