【发布时间】:2013-03-02 19:08:29
【问题描述】:
我想知道当用户空间应用程序/进程被杀死时,是否有可以在 Linux 内核模块中使用的钩子?
【问题讨论】:
-
是只针对特定进程还是所有进程?您是否对接收某些信号的进程感兴趣,或者该进程也只是优雅地退出?
-
在 ARM、
#include <asm/thread_notify.h>和thread_register_notifier()。使用THREAD_NOTIFY_EXIT。见:git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/… -
@Tuxdude:它适用于所有进程和任何信号。在我的情况下,我的内核模块正在根据 PID 保存一些数据,并且必须在进程终止后立即对其进行清理。
-
@BillPringlemeir 谢谢你我正在查看你的链接并尝试看看我是否可以在非 ARM 架构上做点什么:)
-
直到现在查看内核源代码,我发现 LSM 有一个 task_free 钩子.. 但不幸的是我无法钩住它。现在我在查看该链接后查看 cgroups:linux-kernel.2935.n7.nabble.com/…。我还找到了这个链接:stackoverflow.com/questions/13863270/…,但我觉得它很难看 :-(.
标签: linux-kernel hook kill-process