signal函数介绍
#include <signal.h>
signal(参数1,参数2);
参数1:我们要进行处理的信号。系统的信号我们可以再终端键入kill -l查看(共64个)。其实这些信号时系统定义的宏。
参数2:我们处理的方式(是系统默认还是忽略还是捕获)。
有3种操作方式。
(1)eg: signal(SIGINT ,SIG_ING );
(2)eg: signal(SIGINT ,SIG_DFL );
(3)void ( signal( int sig, void ( handler)( int )))( int );
signal函数应用
用户在键盘输入CTRL+C时,将会向进程发送一个类型为SIGINT的消息,下面程序当用户在键盘按下CTRL +C键时会打印该信号的number.可以看出该信号的num为2要想退出可以按下CTRL +\打印结果为最后一行。
// 062.c 响应signal的回调函数1
#include<stdio.h>
#include<signal.h>
typedef void (* signal_handler)(int);
void signal_handler_fun(int signal_num)
{
printf("catch signal1 %d\n",signal_num);
}
int main(int argc,char *argv[])
{