Перезапуск службы w/ `chkconfig`?
После запуска:
sudo chkconfig --add X
sudo chkconfig X on
Я побежал chkconfig --list X:
$ chkconfig --list X
X 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Насколько я понимаю, после kill -9При этом служба будет перезапущена.
Однако после запуска kill -9 $PID где $PID это PID процесса службы, который не был перезапущен.
Другими словами, бег ps -ef | grep X вернул только grep результат.
Как я могу использовать chkconfig чтобы убедиться, что после сбоя моего сервиса он перезапустится?
3 ответа
ckconfig на самом деле ничего не останавливать и не начинать. Как объясняется в руководстве:
chkconfig предоставляет простой инструмент командной строки для поддержки
/etc/rc[0-6].dиерархия каталогов, освобождая системных администраторов от необходимости непосредственно манипулировать многочисленными символическими ссылками в этих каталогах....
Вот и все.
6 РЕЛ init и Upstart - это то, что фактически запускает и останавливает определенные задания при загрузке, завершении работы или при изменении уровней выполнения в зависимости от того, как /etc/rc[0-6].d иерархия каталогов настроена.
Вы можете использовать Upstart для управления запуском сервисов и перезапускать, если и когда они отказывают, используя respawn ключевое слово в init файл конф.
/etc/inittab может использоваться для принудительного перезапуска службы, если он использует сценарий инициализации в стиле SystemV, если мы говорим о RHEL >=6.2. Также доступен Upstart, и вы можете просто добавить respawn строка к файлу определения сервиса в /etc/init, Смотрите руководство DigitalOcean для получения подробной информации.
Или подумайте об обновлении / переустановке до RHEL7.
Systemd поддерживает автоматический перезапуск служб при сбоях.
Бежать systemctl edit foo.service
[Service]
Restart=on-failure