如何在内核中听新的分支

时间:2015-06-03 14:18:29

标签: c linux linux-kernel fork linux-device-driver

内核:3.4+

有没有人知道除了使用内核进程事件连接器之外的任何其他方式" listen"到新的叉子。

每次创建新任务(进程)时,我都希望在模块中得到通知。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用LSM hook  去做这个。您要实现的功能是security_task_create

答案 1 :(得分:1)

我不知道SystemTap的状态,但我认为您可以使用SystemTap在Solaris上执行类似DTrace的功能边界跟踪。您需要知道要跟踪哪个Linux内核函数,但这是我假设的更简单的部分。

答案 2 :(得分:1)

您可以使用一些可能的黑客来解决这个问题。

您可以挂钩相关的syscall表条目,将sys_fork替换为您的代码并调用原始的sys_fork。

否则,你可以自己挂钩sys_fork。