#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;}
