Демонизировать процесс с помощью автозапуска

У меня есть простой скрипт, написанный на Ruby.

  • Я хотел бы запустить в качестве фоновой задачи (процесс или служба демона).
  • Более того, я хочу иметь контроль над ним, чтобы я мог начать и остановить его.
  • Было бы идеально, если бы процесс мог запускаться автоматически при перезапуске моего VPS.

Есть ли способ сделать это?

1
задан 29 June 2014 в 02:49

2 ответа

На самом деле я нашел идеальное решение для этого. Это требует upstart, так намного более легче, чем стандартные сервисы, runit и systemd.

Вот более подробная инструкция: http://blog.arkency.com/2014/06/create-run-and-manage-your-background-processes-with-upstart/

И это - что-то как:

В /etc/init/my_program_upstart_script.conf:

start on my_event
respawn
exec /home/my_user/my_program/my_program_executable

Да, настолько простой!

Просто запускает программу с sudo initctl emit my_event.

2
ответ дан 29 June 2014 в 02:49

Простой путь состоит в том, чтобы создать удар сценарии, которые запускают/останавливают Ваше приложение. Следуйте /etc/init.d/skeleton как пример.

Установка Вы пишете сценарий:

    sudo copy yourApplicationCtl /etc/init.d
    sudo chmod +x /etc/init.d/yourApplicationCtl

для запущения приложения при начальной загрузке сервера и остановки на завершении работы:

    sudo update-rc.d yourApplicationCtl defaults

, Если Вы хотите вручную запустить/остановить свое приложение:

    sudo service yourApplicationCtl start/stop

Полезная ссылка: UbuntuBootupHowto, страница справочника обновление-rc.d и сервис

0
ответ дан 29 June 2014 в 02:49

Другие вопросы по тегам:

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