我有一个用 python 编写的脚本,它以预定的顺序执行一大堆进程。它使用以下函数来执行这些过程。
ON_POSIX = "posix" in sys.builtin_module_names
def executeCommand(cmd):
print cmd
p = Popen(cmd, stdout=PIPE, bufsize=1, close_fds=ON_POSIX, shell=True)
p.communicate()
然而,有时当这些进程被执行时,函数永远不会返回并且永远坐在那里。子进程未列在 top 或 ps aux | grep 知道为什么这些进程没有返回吗?
PS我正在从我自己安装的服务中运行它。此外,我尝试从 python 池(线程池)运行它们,但没有它(它发生在线程池中和单独运行时)。