我有一个用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池(线程池)运行它们而没有它(它在线程池和单独运行时都会发生。)