高分求解,信号捕获
我做了一个LINUX程序,共启动了5个线程,并在主线程里设置信号捕获函数:
(void)signal(35,myclose);
现在我想向主线程发送35的信号,由主线程来关闭其它子线程并结束程序。
现在的问题是,我不知道那个PID是主线程的,也就是说我不知道该向那个PID发送35的信号,
想请高人帮忙解决,怎么实现我的功能(主线程来关闭其它子线程并结束程序)。
问题点数:100、回复次数:7Top
1 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-06-03 11:50:13 得分 70
pthread_killTop
2 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-06-03 11:55:28 得分 0
错了Top
3 楼yjf7888(seeking a place 找工作了location:Chengdu)回复于 2005-06-03 12:49:26 得分 10
我在sco unixware下用的pthread_kill向线程送信号,可行
Top
4 楼LemonYang(菜菜菜)回复于 2005-06-03 14:17:04 得分 0
我是要在SHELL下发送信号关闭线程,pthread_kill不能用吧/
另外,能用sigaction设置所有线程的信号接收函数吗?就是说所有线程的信号处理都由一个函数处理。Top
5 楼LemonYang(菜菜菜)回复于 2005-06-03 15:52:21 得分 0
自己解决了Top
6 楼gaoxianfeng(高)回复于 2005-06-03 17:57:34 得分 20
不指定 信号应该被进程任意分配给线程
你应该pthread_sigmask() 一下Top
7 楼gaoxianfeng(高)回复于 2005-06-08 10:57:50 得分 0
倒 还以为你是从 进程外向此进程发送信号
呵呵Top




