在Linux内核中处理SIGKILL的最佳方法

时间:2012-08-31 03:20:16

标签: linux-kernel

我正在Linux 3.0中编写一个系统调用,当我等待某个事件发生时(使用waitqueue),我想检查一个待处理的SIGKILL,如果有一个发生,我想要{{1任务尽快死亡。据我所知,一旦我从系统调用返回(嗯,真的:一旦进程进入用户模式)返回,内核检查挂起的信号,并在看到SIGKILL后,内核将杀死current返回用户模式之前。

问题:我的上述假设是否正确,SIGKILL如何运作?我的另一个选择是看到致命的SIGKILL正在等待,而不是从系统调用返回,我只是执行current。我希望尽可能与其他Linux用例保持一致......而且似乎只是从syscall返回就是其他代码所做的事情。我只想确保以上关于SIGKILL如何杀死任务的假设是正确的。

1 个答案:

答案 0 :(得分:1)

系统调用退出后发生信号检查,是的。

参见例如ret_from_sys_call的{​​{1}}。