我想知道在用户空间应用程序/进程被杀死时是否有可以在Linux内核模块中使用的钩子?
答案 0 :(得分:2)
您可以先在内核模块中注册通知程序链。
在get_signal_to_deliver
内部( kernel / signal.c ),只是(这是一个相对术语恕我直言)被杀的任何进程都有 PF_SIGNALED 标志已设置。在这里,您可以使用其tcomm字段检查当前进程的名称,如下所示:
char tcomm[sizeof(current->comm)];
get_task_comm(tcomm, current);
如果它确实是受质疑的过程,你可以触发通知链,这将唤醒你一直在等待该链的模块。