//如下代码
#include <stdio.h>
#include <signal.h>
#include <pthread.h>
void signal_deal(int sig);
void* fun();
pthread_t pt_main;
int main(int argc, char* argv[])
{
pthread_t pt;
//pt_main = getpid(); //怎么获取
signal(SIGUSR1,signal_deal);
pthread_create(&pt,NULL,fun,NULL);
sleep(10);
return 0;
}
void signal_deal(int sig)
{
switch(sig)
{
case SIGUSR1:
printf("SIGUSR1\n");
default:
break;
}
}
void* fun()
{
// pthread_kill(pt_main,SIGUSR1); //怎么获取main的线程号?
return NULL;
}
gettid() 获取线程ID,然后pthread_create的时候作为线程参数传递进去
参考:http://blog.csdn.net/vah101/article/details/40393287
pthread_create?
pthread_self