当前位置: 技术问答>linux和unix
一个线程能用pthread_kill(pid,SIGHUP)将另一个线程挂起么?
来源: 互联网 发布时间:2016-09-24
本文导语: 在同一个进程内部的两个不同线程,我想让 线程1 通过调用pthread_kill(pid,SIGSHUP)将 线程2 挂起,然后再用pthread_kill(pid,SIGCONT)将其恢复,结果运行的时候,直接将整个进程挂起了,程序直接在控制台退出了,我想...
在同一个进程内部的两个不同线程,我想让 线程1 通过调用pthread_kill(pid,SIGSHUP)将 线程2 挂起,然后再用pthread_kill(pid,SIGCONT)将其恢复,结果运行的时候,直接将整个进程挂起了,程序直接在控制台退出了,我想问问高手们,这种方法是否可行?我是不是缺少了某些信号处理部分所以导致整个进程挂起而不是指定的线程2?
这种方法可行的话,怎么实现啊?
这种方法可行的话,怎么实现啊?
|
不好意思,我3L的回复是在车上用手机回复的,没解释清楚。
在这里在做解释:
你可以用pthread_kill()给一个线程发送信号,但如是,如果该信号默认处理时终止一个进程(先确定进程接收到该信号之后会做什么处理),那么,你把该信号发给一个线程,也就是pthread_kill()给一个线程,那么,该信号同事终止了改进程。
在这里在做解释:
你可以用pthread_kill()给一个线程发送信号,但如是,如果该信号默认处理时终止一个进程(先确定进程接收到该信号之后会做什么处理),那么,你把该信号发给一个线程,也就是pthread_kill()给一个线程,那么,该信号同事终止了改进程。