您的位置:首页 > 运维架构 > Linux

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

2016-04-22 17:15 405 查看
linux子进程或者popen、exec启动的程序都会继承fd比如主进程调用了另一个程序,结果主程序结束后,这个被调用程序竟然继承了所有的fd包括监听端口,有时候阻塞运行时间比较长,会导致监听端口收不到报文。后来实验建立子进程去启动程序,写个脚本去启动程序,情况是一样的。写个小程序再去启动脚本,也一样。查了下文档,使用fcloseall来关闭fd,结果发现这个函数没用,别的系统没有试验,至少在centos6.3和redhat5.7都不行。最后直接在子进程里面从3到1000的fd全部close,然后再调用其他程序 ,总算ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux fd close