На самом деле ваш вопрос является конкретным применением знаменитого «Quis custodiet ipsos custodes»? то есть «Кто будет охранять охранников?».
В современной системе Linux центральной точкой охраны является init
процесс (процесс номер 1). Если init
умирает, ядро Linux сразу же впадает в панику, и, следовательно, вам нужно пойти в ваш центр обработки данных (я имею в виду поехать) и нажать reset
. Там вы много альтернативных реализаций init
, here является одним из тех «таблицы сравнения» :)
Точный ответ, как настроить конкретный init
реализации зависит от того, что init
версия используется в этой системе. Для примера systemd
имеет свой собственный механизм для перезапуска конфигурирования службы после их смерти (директивы Restart=
, RestartSec=
, WatchdogSec=
и т.д. в соответствующем unit-file. Другие инициализации реализаций, как Ubuntu Upstart также имеет свои аналоги (respawn
directive в файле конфигурации сервиса). Даже старый добрый SysV INIT имеет respawn
вариант для обслуживания линии в /etc/inittab
, но обычно услуги на уровне пользователя, не запускаются непосредственно inittab, только виртуальные менеджеры консоли (getty
, mgetty
и т.д.)
Спасибо. Так что мы на Ubuntu, и мы реализовали Init .d, и кажется, что когда мы убиваем процесс супервизора, он не возвращается снова. Любая идея, каковы некоторые общие причины init.d, не сохраняющие живых демонов zed процессы? – chinnychinchin