Linux程序的常用信号中断捕获代码


Linux程序经常需要捕获一些中断信号,如按下CTRL+C就会触发SIGTERM信号等,

  1. if (atexit(&cleanup)) //atexit现在不鼓励用了,常用来做程序退出的后处理工作   
  2.     {   
  3.         fprintf(stderr, "cannot set exit function\n");   
  4.         return EXIT_FAILURE;   
  5.     }   
  6.     signal (SIGINT, &catch_int);   
  7.     signal (SIGTERM, &catch_term);   
  8. #ifdef __WIN32__   
  9.     signal (SIGBREAK, &catch_break);   
  10. #else   
  11.     signal (SIGHUP, &catch_hup);   
  12.     signal (SIGQUIT, &catch_quit);   
  13. #endif  

相关内容