Linux: автоматически перезапустить сторонний процесс после 100% привязки

593
Mahmoud Al-Qudsi

Есть ли какой-либо общий способ контролировать процесс и автоматически перезапускать его, если он более 100 секунд привязан к процессору на 100%?

Я борюсь с некоторыми ошибками на сервере Monc fastcgi, и пока я ищу исправление (анализ трассировки стека), я ищу обходной путь, который автоматически обнаружит его зависание и перезапустит его с теми же параметрами командной строки.

Благодарю.

0

1 ответ на вопрос

1
NineHills

Попробуйте МОНИТ .

Пример конфигурации:

check process example-server with pidfile /var/run/example-server.pid start program = "/etc/init.d/example-server start" with timeout 60 seconds stop program = "/etc/init.d/example-server stop" if cpu > 90% for 3 cycles then restart 

Смотрите также:

  1. https://serverfault.com/questions/97541/kill-process-with-high-cpu-usage-after-x-time
  2. https://stackoverflow.com/questions/2784468/monitor-and-kill-runaway-processes-using-100-io
  3. http://mmonit.com/monit/documentation/monit.html
Спасибо, это выглядит многообещающе. В худшем случае было написано легкая оболочка вокруг `pidstat`, но это выглядит хорошо. Mahmoud Al-Qudsi 12 лет назад 0

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