一步一步学Linux C:信号处理


信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能。要想使用信号处理功能,你要做的就是填写一个信号处理函数即可。

  1. #include <stdio.h>    
  2. #include <sys/types.h>    
  3. #include <stdlib.h>     
  4. #include <signal.h>     
  5.   
  6. int flag = 1;    
  7.   
  8. void func(int sig)    
  9.   
  10. {  
  11.   
  12. printf("I get a signal!\n");   
  13. flag = 0;    
  14.   
  15. }    
  16.   
  17. int main()    
  18.   
  19. {    
  20.   
  21.     signal(SIGINT, func);   
  22.     printf("pid:%ld\n",(long)getpid());   
  23.   
  24.     while(flag)  
  25.     pause();     
  26.     return 0;      
  27. }    

执行,,,,,

  1. #gcc sig.c -o sig     
  2. #./sig   
  3. 在另一终端:  
  4. #kill -INT 333//333是程序打印出的进程号    

相关内容