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