Posted on 2009-08-05 11:22 
Prayer 阅读(1807) 
评论(0)  编辑 收藏 引用  所属分类: 
LINUX/UNIX/AIX 
			 
			
		 
		我用了pthread_kill(tid,SIGTERM),   pthread_kill(tid,SIGKILL),这两个把整个进程给停止了 
pthread_kill是向进程发送信号,但信号处理是针对整个进程的。因此,不能发送SIGKILL,因为无法捕获。发送SIGTERM,要在线程内接管该信号,然后用pthread_exit退出线程。如果不接管,整个进程就会退出。 
这样做....
pthread_kill(thdinfo->;th, SIGQUIT);
线程中的sinal_handler 这样做
void catch_quit(int sig)
{
        pthread_exit(0);
}