Сценарий Bash, чтобы найти процессы зомби?

Так недавно я заметил, что у меня есть процесс, который будет случайно разбиваться и станет зомби с PPID 1 (init). Мне сказали, что единственный способ исправить это - перезагрузить компьютер (или отправить SIGCHLD на init, который является .... dicey / бесполезным, из того, что я понимаю.)

По сути, что Я ищу, чтобы написать скрипт bash, который будет просто искать процесс зомби, а если есть, перезагрузите компьютер.

В настоящее время я использую этот скрипт для мониторинга самого процесса:

 ps auxw | grep ethminer | grep -v grep > /dev/null

 if [ $? != 0 ]
 then
    sudo reboot
 fi

Теперь этот сценарий работает нормально, когда этминер либо работает, либо НЕ РАБОТАЕТ; он перезагрузит компьютер, если он не видит ethminer в таблице процессов, и ничего не делает, если он не видит его.

Тем не менее, (из-за моего откровенного понимания), поскольку код выхода, когда процесс становится зомбиком if [ $? != 0 ], не получает никакого ввода и, следовательно, ничего не делает.

В любом случае я могу исправить / изменить этот скрипт, чтобы он делал то, что я хочу сделать? Или я в порядке?

Спасибо!

1
задан 1 September 2016 в 21:58

0 ответов

Другие вопросы по тегам:

Похожие вопросы: