关于kill发送信号返回的问题
kill 一个信号之后,kill是信号处理函数处理完毕返回,还是发送完信号就立即返回?
进行信号处理的时候,是又建立了一个线程来处理吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
kill 一个信号之后,kill是信号处理函数处理完毕返回,还是发送完信号就立即返回?
进行信号处理的时候,是又建立了一个线程来处理吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
kill是发送信号给其他进程,发生完后调用进程立即返回继续执行程序。
接收进程收到信号后按定义 好的信号处理函数进行处理。
调用 进程只管发送信号,不会理会接收进程 的情况的。
回复 1# vaqeteart
首先,kill函数向某个进程发送信号时,不是全部在用户空间完成的,需要调用系统调用。
其次,kill函数向某个进程发送信号,如果该信号是不被阻塞的,那么在kill函数返回之前,该信号被递送到该进程。
第三,执行信号处理函数时,是由该进程来执行的,而不是另起进程/线程。
这是我个人的理解。
恩,谢谢大家,我的意思没有说清楚,我的意思是使用kill给自己发送信号,那么kill返回的时机是处理完了信号之后吗?