Перезапуск службы 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 ответа

Это не работа chkconfig. Попробуйте monit или подобное.

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
Другие вопросы по тегам