您的位置:首页 > 其它

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

2013-12-02 14:54 190 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐