1 当信号发出后,可以使用signal()方法捕获信号
2.
表头文件 #include<signal.h>
功 能: 设置某一信号的对应动作
函数原型 :void (*signal(int signum,void(* handler)(int)))(int);
或者:typedef void(*sig_t) ( int ); sig_t signal(int signum,sig_t handler);
第一个参数signum指明了所要处理的信号类型,它可以取除了SIGKILL和SIGSTOP外的任何一种信号
第二个参数handler描述了与信号关联的动作,它可以取以下三种值:
- 一个返回值为正数的函数地址
- SIGIGN 这个符号表示忽略该信号,执行了相应的signal()调用后,进程会忽略类型为sig的信号
- SIGDFL 这个符号表示恢复系统对信号的默认处理
3
- #include<stdio.h>
- #include<sys/stat.h>
- #include<sys/types.h>
- #include<stdlib.h>
- #include<signal.h>
- void msg();
- int main()
- {
- signal(SIGALRM,msg);
- alarm(5);
- pause();
- }
- void msg()
- {
- printf("Get alarm signal!\n");
- }