首页 > 其他 > 详细

调用程序继承fd和监听端口的问题

时间:2016-04-23 07:52:04      阅读:160      评论:0      收藏:0      [点我收藏+]

linux子进程或者popen、exec启动的程序都会继承fd

比如主进程调用了另一个程序,结果主程序结束后,这个被调用程序竟然继承了所有的fd包括监听端口,有时候阻塞运行时间比较长,会导致监听端口收不到报文。后来实验建立子进程去启动程序,写个脚本去启动程序,情况是一样的。写个小程序再去启动脚本,也一样。

查了下文档,使用fcloseall来关闭fd,结果发现这个函数没用,别的系统没有试验,至少在centos6.3和redhat5.7都不行。

最后直接在子进程里面从3到1000的fd全部close,然后再调用其他程序 ,总算ok了。


本文出自 “飞翔正义的博客” 博客,请务必保留此出处http://xzq2000.blog.51cto.com/2487359/1766786

调用程序继承fd和监听端口的问题

原文:http://xzq2000.blog.51cto.com/2487359/1766786

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!