子进程不会退出

时间:2014-08-04 21:33:00

标签: fork parent-child exit child-process

我最令人费解的行为是子流程没有退出。如果他们正在执行,我甚至不会现在。我的代码在这些行点产生了两个子进程:

Poco::ProcessHandle ph = Poco::Process::launch(cmd, args, 0, &outPipe, &errorPipe);
ph.wait();

PyRun_SimpleString(data.data() )

调试器只会说子进程被生成然后挂起,等待子进程退出

Detaching after fork from child process 38482

这两个过程非常不同,这表明问题比子进程要执行的特定指令更为通用。

如果有人遇到类似顽固孩子的情况,请告诉我。

1 个答案:

答案 0 :(得分:1)

我在Poco中遇到类似Async通道的问题。 这个链接可能对你有帮助。

Poco AsyncChannel does not exit on forked process exit

总结:在fork之后而不是之前创建线程