【问题标题】:Best way to handle SIGKILL in Linux kernel在 Linux 内核中处理 SIGKILL 的最佳方法
【发布时间】:2012-08-31 19:10:58
【问题描述】:

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

问题:关于 SIGKILL 的工作原理,我的上述假设是否正确?我的另一个选择是查看致命的 SIGKILL 未决,而不是从系统调用返回,我只是执行do_exit()。我想尽可能地与其他 Linux 用例保持一致……而且似乎从系统调用中简单地返回就是其他代码所做的。我只是想确保上述关于 SIGKILL 如何杀死任务的假设是正确的。

【问题讨论】:

    标签: linux-kernel


    【解决方案1】:

    在系统调用退出后进行信号检查,是的。

    参见例如ret_from_sys_callarch/x86/kernel/entry_64.S

    【讨论】:

      猜你喜欢
      • 2013-09-02
      • 1970-01-01
      • 2011-11-30
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多