Какой лучший универсальный сценарий сторожевого таймера?
Итак, я знаком с несколькими методами реализации сценария "сторожевого таймера". Проблема в том, что ни один из них не проверяет "зависший" или не отвечающий процесс. Все они просто проверяют, присутствует ли этот процесс.
Возможно, я показываю, что у меня недостаточно знаний в области программирования, но у меня сложилось впечатление, что иногда процесс может продолжать работать в этой системе, но на самом деле он зависает / зависает.
Есть ли способ обнаружить это состояние и вызвать (pkill blah && blah
) о каком процессе идет речь?
Некоторые примеры того, что я НЕ ищу:
- http://blog.eracc.com/2010/05/08/linux-monitor-a-service-with-a-watchdog-script/
- http://community.webfaction.com/questions/6157/watchdog-script-to-keep-process-running-with-cron
- Linux + создать простой процесс сторожевой собаки в сценарии оболочки
- Мониторинг разовой услуги
Cron работы, такие как:
#!/bin/sh if [ ` pgrep processname -c` -le "0" ]; then processname
1 ответ
Посмотрите на утилитуMonit или M/Mmonit.
Его использование хорошо описано здесь, на Server Fault, а также в примерах документации.
Вы можете легко проверить процесс по PID или наличию; но дополнительные параметры, такие как загрузка ЦП или потребление ОЗУ, также могут запускать различные действия.