我有一个父它启动时,揭开序幕的是创建一个端口上侦听X.这之后TCP Server实例的一个线程,家长开始分叉关子进程(这做几件事情并退出).请注意,这些子进程从父级继承fds,因此最终会侦听端口X.
父程序有一个处理程序,用于处理端口X上的请求但子进程没有这样的处理程序(它是一个os.execv() - ed C++程序)
我知道子进程可以关闭所有fds,在这种情况下不会出现上述情况.端口X上的传入请求会发生什么?怎么处理?
这是我到目前为止观察到的内容...父节点中的tcp请求处理程序在收到请求时执行commands.getstatusoutput(..).大多数时候,它表现得像预期的那样(或者我预期的方式) - 执行上述命令没有任何错误......但偶尔我会得到
File "/home/y/lib/python2.7/commands.py", line 61, in getstatusoutput
sts = pipe.close()
IOError: [Errno 10] No child processes
Run Code Online (Sandbox Code Playgroud)