用户空间进程上的Linux内核模块信号被杀死

时间:2013-03-02 19:08:29

标签: linux-kernel hook kill-process

我想知道在用户空间应用程序/进程被杀死时是否有可以在Linux内核模块中使用的钩子?

1 个答案:

答案 0 :(得分:2)

您可以先在内核模块中注册通知程序链。

get_signal_to_deliver内部( kernel / signal.c ),只是(这是一个相对术语恕我直言)被杀的任何进程都有 PF_SIGNALED 标志已设置。在这里,您可以使用其tcomm字段检查当前进程的名称,如下所示:

char tcomm[sizeof(current->comm)];
get_task_comm(tcomm, current);

如果它确实是受质疑的过程,你可以触发通知链,这将唤醒你一直在等待该链的模块。