Відповіді:
Вам або буде потрібна система init ( runit
, systemd
і т. Д.), Яка може вести вкладки процесу і (з відповідною конфігурацією) перезапустити демон після відмови, або запустити якийсь інший демон, який перевіряє, чи працює процес крона, а чи ні перезапускається це ( monit
будь-яке управління конфігурацією, яке виконує локальний агент, такий як CFEngine тощо).
Добре дивитись спостерігачам за сторожовим сценарієм нескінченного циклу, і помістити його у /etc/rc.local або подібний файл запуску.
#!/bin/bash
for service in crond httpd whatever
do
if [ `pgrep $service` = '' ]
then
service $service restart
# OR
# systemctl restart service
fi
sleep 3
done
Звичайно, цей простий приклад працює лише в тому випадку, якщо сервісний процес і сценарій запуску служби мають одне ім’я. але ви можете виправити це відповідно до ваших потреб