Проверьте состояние процесса и перезапустите процесс, если он не отвечает / остановлен - Python - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь создать небольшой сценарий мониторинга процессов на Windows Server 2008.

Сценарий будет:

  • найти целевой процесс
  • проверить состояние (запущен / не отвечает / остановлен)
  • убивает и перезапускает процесс, если не отвечает / остановлен

Есть предложения о том, как лучше всего это реализовать?

1 Ответ

1 голос
/ 11 августа 2011

Называть процесс «не отвечающим» довольно субъективно. Это может быть ожидание данных, и оно может показаться не отвечающим, или оно может быть в (бесконечном) цикле и не отвечать на запросы.

Обычно люди реализуют hartbeat . То есть - в процессе есть очень маленький сокет-сервер, к которому другие процессы могут подключаться и отправлять ping сообщений, на которые он отвечает pong. Что обычно делают инструменты мониторинга, так это периодически проверяют процесс, и если он не отвечает в течение тайм-аута, он считается не отвечающим (и обычно его убивают).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...