Как отслеживать изменения состояния процесса? - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь написать сторожевой таймер, который отслеживает некоторые процессы, которые обычно плохо написаны.

Я пробовал 3 вещи.

  • Проверка /proc/<pid>/stat один раз каждые 2 секунды, чтобы проверить, не блокирует ли процесс какую-либо блокировку и т. Д. Но этот метод требует значительных ресурсов и, что более важно, не точен.

  • В некоторых частных процессах, которые у меня естьнаписано, что я посылаю сообщения, похожие на сердцебиение, но это невозможно на стороннем программном обеспечении с закрытым исходным кодом.

  • Я встречал CONFIG_PROC_EVENTS, но его функции очень ограничены.

В Linux существует ли способ получения изменений состояния процесса, которые уведомляют процесс прослушивания, когда процесс переходит в спящий режим или становится непрерывным?Или есть лучший способ проверить поведение процесса?

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