#inlcude<unistd.h>
#include<stdio.h>
#include<signal.h>
#include<stdlib.h>
void alrmhandler(int sig)
{
printf("产生一个信号");
}
int main()
{
pid_t pid;
//创建一个子进程
pid=fork();
switch(pid)
{
case 0: //子进程处理
{
sleep(5);
kill(getppid(),SIGALRM);
exit(0);
}
break;
case -1: //失败处理
{
perror("fork error\n");
exit(0);
}break;
default:// 父进程处理
{
//注册一个闹钟信号处理函数
signal(SIGALRM,alrmhandler);
printf("父进程等待一个信号...");
pause();
}break;
}
printf("run end\n");
return 0;
}