代码之家  ›  专栏  ›  技术社区  ›  Unmanned Player

如何监视进程状态更改?

  •  1
  • Unmanned Player  · 技术社区  · 6 年前

    我正在尝试编写一个监视程序,跟踪一些通常写得不好的进程。

    我试过三件事。

    • 检查 /proc/<pid>/stat 每2秒检查一次进程是否阻塞了一些锁等,但这种方法是资源密集型的,更重要的是不准确。

    • 在我编写的一些私有进程上,我发送类似心跳的消息,但这在第三方封闭源代码软件上是不可能的。

    • 我确实遇到过 CONFIG_PROC_EVENTS 但它的功能非常有限。

    在Linux上,是否有方法接收进程状态更改,当进程进入睡眠状态或变得不可中断时通知侦听进程?还是有更好的方法来审核流程的行为?

    0 回复  |  直到 6 年前