嵌入式 使用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();
{
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();
相关文章推荐
- 嵌入式 服务器端与客户端通信当客户端异常关闭的解决服务器跟着关闭一服务器
- 解决WCF“这可能是由于服务终结点绑定未使用 HTTP 协议造成的,这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致”异常
- linux C语言 SOCKET 服务器断开导致客户端SEND崩溃问题解决办法
- 使用axis2构建webservice时客户端内存不断增长导致应用服务器频繁重启的解决方案
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- 使用ajax删除后台table数据,提交后tomcat服务器报NumberFormatException异常,客户端报500错误。
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- idea不正常关闭,导致项目异常的解决办法
- dubbo使用的zookeeper注册中心客户端太多导致连不上解决办法|linux的arp限制
- .NET中使用P/Invoke 导致内存已损坏异常的一则解决方法
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- myeclipse异常关闭导致tomcat无法启动如何解决
- Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法
- myeclipse异常关闭导致server视图无法打开的解决方法
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- Matlab中使用xlswrite函数时出现服务器出现异常的解决方法