我一直在谷歌搜索这个问题的答案,但似乎没有一个答案。任何人都可以告诉我subprocess
模块是否并行执行其调用? Python文档建议它可以用来生成新进程,但它没有提到它们是否并行。如果它们可以并行完成,你可以给我一个例子或者链接我吗?
答案 0 :(得分:15)
这取决于您使用subprocess
:
subprocess.call("some-program")
将阻止,直到some-program
完成。
p = subprocess.Popen("some-program")
将在一个单独的进程中运行some-program
,与脚本的其余部分并行运行。
请注意,第一个只是一个方便的包装器,相当于
subprocess.Popen("some-program").wait()
output = subprocess.check_output("some-program")
与
output, stderr = subprocess.Popen("some-program").communicate()