我正在 Linux 3.0 中编写一个系统调用,当我等待某个事件发生时(使用等待队列),我想检查一个挂起的 SIGKILL,如果发生,我希望current
任务尽快结束可能的。据我所知,一旦我从系统调用返回(嗯,真的:只要进程进入用户模式)返回,内核就会检查挂起的信号,并在看到 SIGKILL 时,内核将杀死current
在它返回用户模式之前。
问题:关于 SIGKILL 的工作原理,我的上述假设是否正确?我的另一个选择是查看致命的 SIGKILL 未决,而不是从系统调用返回,我只是执行一个do_exit()
. 我想尽可能地与其他 Linux 用例保持一致……而且似乎从系统调用中简单地返回就是其他代码所做的。我只是想确保上述关于 SIGKILL 如何杀死任务的假设是正确的。