【发布时间】:2013-05-24 08:13:03
【问题描述】:
我想创建一个父进程,它会创建许多子进程。由于父进程负责创建子进程,因此父进程不会关心子进程的状态。
由于 subprocess.call 是阻塞的,它不起作用。因此我使用 subprocess.Popen 来替换调用。然而,一旦孩子终止(Link),Popen 将生成僵尸(已失效)进程。
有没有办法解决这个问题?
提前致谢
【问题讨论】:
-
两件事,在我看来,你在混淆父母和孩子。还有一个问题,你为什么要创造僵尸?
-
我不想要僵尸。这只是我想避免的 Popen 的副作用。
-
所以你想生成 N 个进程,让它们并行执行它们的东西,然后阻塞父进程直到它们全部完成?
-
实际上父母只是创建孩子。孩子随时会死,父母不在乎。所以它没有阻塞。
-
但这还是太不具体了。什么是父进程?孩子们跑的时候它会继续跑吗?或者它只是一个产生 N 个进程,然后退出并让子进程运行的实用程序?如果是后者,请查看stackoverflow.com/questions/5772873/…
标签: python subprocess