#include<stdio.h>
#include<signal.h>
#include<pthread.h>
void signal_func(int arg)
{
printf("接收信号 %d",arg);
}
void *task(void* arg)
{
//注册一个信号函数,打印一句话
signal(10,signal_func);
while(1)
{
static int a=0;
printf("我在任务 %d\n",a++);
sleep(1);
}
}
int main()
{
//开启一个线程
pthread_t tid;
pthread_create(&tid,NULL,task,NULL);
while(1)
{
printf("输入1发送信号给线程\n");
int n=0;
scanf("%d",&n);
if(n==1)
{
//信号10,用户自定义信号1,默认终止进程。在这里是打印一句话。
pthread_kill(tid,10);
}
}
}