После запуска:
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
чтобы гарантировать, что после сбоя моей службы она перезапустится?
Это не работа chkconfig .. Попробуйте контролировать или т.п.
ckconfig
фактически ничего не останавливает и не запускает. Как объясняется в руководстве:
chkconfig предоставляет простой инструмент командной строки для поддержки
/etc/rc[0-6].d
иерархия каталогов, освобождая системных администраторов от задачи прямого управления многочисленными символическими ссылками в этих каталогах. ...
Вот и все.
На RHEL 6 init
и Upstart - это то, что на самом деле запускает и останавливает определенные задания при загрузке, завершении работы или при изменении уровней запуска в зависимости от того, как это /etc/rc[0-6].d
иерархия каталогов настроена.
Вы можете использовать Upstart для управления запуском служб и перезапуском в случае их сбоя с помощью respawn
ключевое слово в init
conf файл.
/etc/inittab
может использоваться для принудительного перезапуска службы, если она использует сценарий инициализации в стиле SystemV, если мы говорим о RHEL> = 6.2 Upstart также доступен, и вы можете просто добавить respawn
строку в файл определения службы в /etc/init
. См. DigitalOcean руководство для подробностей.
Или подумайте об обновлении / переустановке до RHEL7.
Systemd поддерживает автоматический перезапуск служб при сбоях.
Бегать systemctl edit foo.service
[Service]
Restart=on-failure