У меня есть программа, которую я добавил в /etc/rc.local, чтобы она запускалась сразу после запуска сервера. Проблема в том, что иногда программа перестает отвечать, и мне нужно ее перезапустить, но я не могу перезапустить сервер. Я могу перезапустить сервер только ночью, но иногда программа умирает днем.
Вместо того, чтобы вставлять rc.local
напрямую, "правильный" способ сделать это - поместить скрипт в /etc/init.d
который будет реагировать на 'start | stop | restart', чтобы делать правильные вещи с процессом программы, затем система должна символически связать его с каталогами rc через update-rc.d scriptname defaults
.
Затем используйте service scriptname restart
чтобы перезапустить его.
Возможно, в Ubuntu уже есть такая возможность, встроенная через стандартную систему rc, но вы можете найти в Google «монитор работоспособности демона ubuntu» и тому подобное. Я нашел программу под названием контролировать который вы, вероятно, могли бы установить и настроить, чтобы проверить свой процесс и перезапустить его в случае сбоя.
Как упомянул Шейн, вам нужно создать сценарий инициализации для запуска / остановки / перезапуска службы. Поскольку программа не отвечает, вам нужно сначала найти основную причину этого. Вы также можете использовать БОГ http://god.rubyforge.org/ для отслеживания и автоматического перезапуска программы (используя вашу запись rc.local)
Надеюсь, это поможет.