ps-watcher 로이 정확한 문제를 해결 하고 몇 년 전에 linux.com 에 썼습니다 . ps-watcher를 사용하면 프로세스를 모니터링하고 누적 된 런타임에 따라 프로세스를 종료 할 수 있습니다. 프로세스 이름이 'foo'라고 가정하면 관련 ps-watcher 구성은 다음과 같습니다.
[foo]
occurs = every
trigger = elapsed2secs('$time') > 1*HOURS && $ppid != 1
action = <<EOT
echo "$command accumulated too much CPU time" | /bin/mail user\@host
kill -TERM $pid
EOT
[foo?]
occurs = none
action = /usr/local/etc/foo restart
열쇠는 선입니다
trigger = elapsed2secs('$time') > 1*HOURS && $ppid != 1`
'누적 프로세스 시간이> 1 시간이고 부모 프로세스가 아닌 경우 다시 시작하십시오.
그래서 대답은 monit을 사용하지 않지만 작동한다는 것을 알고 있습니다. ps-watcher 는 가볍고 설정하기 쉬우므로 monit 설정 이외에도 실행에 아무런 해가 없습니다.