Каким образом можно поддерживать работу некоторого процесса (веб-сервер, базу данных и т. Д.) В фоновом режиме и быть уверенным, что в случае перезагрузки системы он немедленно запустится снова?
Я бы хотел иметь эту функцию для незарегистрированного пользователя (без доступа sudo), поэтому upstart
здесь может быть проблематично. Кроме того, было бы идеально иметь ansible
playbook или chef
рецепт для этого и автоматическое развертывание, чтобы каждый раз процесс перезапускался.
Я знаю есть runit
, supervisord
и так далее, но многие из них не имеют простой настройки и недоступны без доступа sudo.
Если ваш демон cron поддерживает @reboot
, вы можете создать crontab с таким содержимым:
@reboot /command/to/start/service
В качестве альтернативы вы можете добавить команду в /etc/rc.local
который будет su
соответствующему пользователю и запустите команду. Например:
su - someuser -c bin/rc.sh &