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

  1. #include<stdio.h> 
  2. #include<sys/stat.h> 
  3. #include<sys/types.h> 
  4. #include<stdlib.h> 
  5. #include<signal.h> 
  6.  
  7.  
  8. void msg(); 
  9.  
  10. int main() 
  11.   signal(SIGALRM,msg); 
  12.   alarm(5); 
  13.   pause(); 
  14.  
  15. void msg() 
  16.  printf("Get alarm signal!\n");