捕获信号:
#include<stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
void sig_intr_handle(int signo )
{
if(signo==SIGUSR2){
printf("接收到了SIGUSR2\n");
exit(2);
}
}
int main()
{
signal(SIGUSR2,sig_intr_handle);
while(1){
printf("主进程\n");
sleep(3);
}
}
发送信号:
int main(int argc,char **argv)
{
int pid = atoi(argv[1]);
int ret = kill(pid, 12);
if(ret<0){
perror("发送失败");
return -3;
}
}