#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void sigroutine(int dunno) { /* 信号处理例程,其中dunno将会得到信号的值 */
printf("signal id=%d\n",dunno);
switch (dunno) {
case 1:
printf("Get a signal -- SIGHUP ");
break;
case 2:
printf("Get a signal -- SIGINT ");
break;
case 3:
printf("Get a signal -- SIGQUIT ");
break;
case 14:
printf("sigal timeout");
alarm(2);
break;
}
return;
}
int main() {
printf("process id is %d ",getpid());
signal(SIGHUP, sigroutine); //* 下面设置三个信号的处理方法
signal(SIGINT, sigroutine);
signal(SIGQUIT, sigroutine);
signal(SIGALRM, sigroutine);
alarm(2);
for (;;) ;
}
版权声明:本文为sauphy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。