当前位置: 技术问答>linux和unix
关于linux中进程与线程处理信号问题
来源: 互联网 发布时间:2017-04-29
本文导语: 在进程中创建一个线程,并设置信号处理函数,此时进程与线程的信号行为一样,那么我向进程发送信号时,谁能捕捉到这个信号? 1.进程? 2.线程? 3.进程和线程都能? | 进程里包含主线程...
在进程中创建一个线程,并设置信号处理函数,此时进程与线程的信号行为一样,那么我向进程发送信号时,谁能捕捉到这个信号?
1.进程?
2.线程?
3.进程和线程都能?
1.进程?
2.线程?
3.进程和线程都能?
|
进程里包含主线程和主线程的子线程,这个概念先搞清楚。
信号会随机发给一个没有阻塞该信号的线程,另外信号处理函数是所有线程共享的。
信号会随机发给一个没有阻塞该信号的线程,另外信号处理函数是所有线程共享的。
|
可以参考APUE, 一个多线程的进程收到信号时,由系统随机选择一个线程来处理。如果想让特定的线程处理,使用pthread_sigmask()函数在其它线程中屏蔽掉该信号。