当前位置:  技术问答>linux和unix

客户端终止,服务器子程序退出的问题。

    来源: 互联网  发布时间:2015-12-15

    本文导语:  在客户端终止时(CTRL-C),客户端发送FIN到服务器,服务器子程序收到后,跟踪程序执行,发现服务器子程序会从read阻塞返回,然后停在write处。但是,服务器父进程却收到了SIGCHLD,也就是说,服务器子程序退出了,...

在客户端终止时(CTRL-C),客户端发送FIN到服务器,服务器子程序收到后,跟踪程序执行,发现服务器子程序会从read阻塞返回,然后停在write处。但是,服务器父进程却收到了SIGCHLD,也就是说,服务器子程序退出了,为什么?请不吝赐教。
if(fork()==0)//服务器子进程
{
close(listenfd);
while(1)
{
read(connfd,buf,1024);
write(connfd,buf,1024);
}
exit(0);
}
signal(SIGCHLD,sighandle);//服务器父进程

|
子进程write的时候失败,收到信号SIGPIPE,你没有捕获改信号,默认是终止.子进程终止了,会向父进程发送信号SIGCHLD.

你可以捕获SIGPIPE,避免对方关闭socket导致的不情愿的退出.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我发现send函数会使客户端退出, 这怎么办啊,怎样让它不使客户端退出啊,这样我就能重新连上了啊?
  • 客户端程序退出后连接仍然存在,为什么?
  • tcp连接中服务器如何知道客户端退出
  • java命名空间javax.print类docflavor的类成员方法:客户端格式化打印数据定义及介绍
  • 客户端程序与容器打交道时客户端用什么程序编写?比如银行添单。
  • php实现socket实现客户端和服务端数据通信源代码
  • 在Linux下开发手机客户端或Pc客户端交互的服务器,需要学哪些知识?
  • windows 7下打开或者关闭telnet客户端/服务端命令方法操作步骤
  • linux端是服务器,客户端连接后,有时并不知道客户端断开,怎么侦测?
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 对于用客户端上网的用户(客户端不支持linux)如何在linux下上网?
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 已和客户端连接建立的socket在客户端CTRL-C后怎么在服务器端捕捉这个错误?
  • 服务器端关闭,客户端select 会一直可读, 读的长度是-1,怎么在不关闭客户端socket下,清除可读
  • 关于B/S结构的客户端打印的问题,求教各位 各位大虾,我用servlet和jsp作了一套b/s的系统,现在客户端需要打印,怎样才能实现?帮帮忙啊,小弟再此先谢过了!
  • 求救:j2ee的构架下,可以作为一个客户端不断的往一用vc做的应用程序客户端发数据吗?
  • linux 能ping通客户端ip,但ping不通客户端的域名。
  • 客户端访问的时候,怎么样取得客户的IP地址?
  • socket编程中客户端绑定端口的问题,请兄弟们指点一下
  • socket编程,服务器会用bind()绑定端口,而客户端不用绑定端口就可以调用connect()。那么客户端的端口时系统自己分配的么?是何时绑定的?
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • 富客户端框架 Avatar
  • 手机Gtalk客户端 GTMobile
  • jsp如何实现往客户端写数据文件


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3