我试图在用户空间中创建一个设置进程亲和力的应用程序。我希望每次内核产生新的pid/tid时立即触发程序。我正在尝试从内核中的do_fork()方法写入/proc下的文件节点,但我认为这样做可能会产生过多开销。

有人知道产生新流程后立即检测到新流程的任何替代方法吗?

如果要监视do_fork()的方法,通过系统调用对用户空间程序的回调会比使用fs节点进行通信更快吗?

最佳答案

Forkstat是一个记录进程fork()的程序。
安装它:

$ sudo apt-get install forkstat

用它来记录“fork”事件:
$ forkstat -e fork

08-07 19:34