我正试图编写一个看门狗,以跟踪一些通常写得不好的进程。
我尝试了三件事。
每2秒检查一次/proc/<pid>/stat
,以查看进程是否由于某种锁定而阻塞等等。但是这种方法占用大量资源,更重要的是不准确。
在我编写的某些私有进程中,我会发送消息之类的心跳,但在第三方封闭源软件上则无法实现。
我确实遇到过CONFIG_PROC_EVENTS
,但功能非常有限。
在Linux上,是否有一种方法可以接收进程状态更改,以在进程进入睡眠状态或变得不间断时通知侦听进程?还是有更好的方法来审核流程的行为?