标签:
#include <signal.h> #include <stdio.h> #include <unistd.h> /* 函数ouch对通过参数sig传递进来的信号作出响应,信号出现时,程序调用该函数,它先打印一条消息,然后将信号SIGINT的处理方式恢复为默认行为*/ void ouch(int sig){ printf("OUCH! - I got signal %d\n", sig); (void) signal(SIGINT, SIG_DFL); } /* main函数的作用是截获按下Ctrl+C组合键时产生的SIGINT信号,没有信号出现时,它会在一个无限循环中每隔一秒打印一条消息*/ int main(){ (void)signal(SIGINT, ouch); while(1){ printf("hello world!\n"); sleep(1); } }signal函数返回的是先前对指定信号进行处理的信号处理函数的函数指针,如果未定义信号处理函数,则返回SIG_ERR并设置errno为一个正数值.如果给出的是一个无效的信号,或者尝试处理的信号是不可捕获或不可忽略的信号(如SIGKILL),errno将被设置为EINVAL.
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/yiranant/article/details/46731503