首页 > > > Linux signal 那些事儿(2)
作者:Bean_lee 来源:ChinaUnix技术博客,本文版权由Bean_lee所有,如需转载,请注明出处。


内核是怎么做到的?


我们看到了,kill也好,tkill也罢,最终都走到了_send_signal.当然了kill系统调用根据pid的情况会分成多个分支如pid >0 pid = 0 pid=-1;pid < 0&pid !=-1,总之了,我的图只绘制了pid >0 的分支。tkill也有类似情况。
注:由于文章长度过长,省略“kernel是怎么做到的非可靠信号和可靠信号”和“那么15408的限制是在哪里呢” 两个问题,点击“阅读原文”,查看完整演示!
我们看到,legacy_queue就是用来判断是否是非可靠信号(signo低于32),并且相同signo值已经存在在挂起信号之中,如果是,直接返回。

3 linux kernel 3.8.0 内核源码


原文作者:;如有侵权,请联系管理员删除。