关闭

嵌入式 使用signal机制解决对客户端异常关闭导致的服务器关闭

489人阅读 评论(0) 收藏 举报
分类:

static void sig_handle(int signo)
{
 switch(signo)
 {

 case SIGTERM:
  printf("receiveSIGTERM!\n");
  exit(0);
  break;
 case SIGKILL:
  printf("receiveSIGKILL!\n");
  exit(0);
  break;   
 case SIGINT:
  printf("receiveSIGINT!\n");
  printf("\nreceive Ctrl+c!Then,the server will exit after 3 seconds !\n");
  exit(0);
  break;
 case SIGALRM:
  printf("receiveSIGALRM!\n");
  break;
 case SIGILL:
  printf("receiveSIGILL!\n");
  break;
 case SIGSEGV:
   printf("receiveSIGSEGV!\n");
  break;
 case SIGPIPE:
  joseph_ipnc_s_socket.joseph_ipnc_s_scoket_sta= -1;
  printf("receiveSIGPIPE!\n");
  break;
 default:
  printf("receive unknownsignal(%d)!\n", signo);
  break;
 }
}
void signal_init(void)
{
 int i = 0;
 for(i=1; i<=SIGIO; i++)
  signal(i, sig_handle);
}

 

只需要在主函数进行调用即可signal_init();

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:985207次
    • 积分:17689
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论