我有两个不同的可执行文件(run1
和run2
)。我想同时运行它们。它们共享一个只读输入文件,但在其他情况下,它们是不同的进程。
是否可以同时调用call
?
目前,正如我所编码的,cmd2
的调用等待cmd1
的调用完成。在
with open(dosout, "w") as dout, open(jijout, "w") as jout:
cmd1 = ["mpirun", "-np", "8", "~/WORK/run1", dosinp]
cmd2 = ["mpirun", "-np", "8", "~/WORK/run2", jijinp]
call(cmd1, stdout=dout)
call(cmd2, stdout=jout)
dout.close()
jout.close()
是否可以使用call
?或者Popen
来自this的答案是唯一(或更好)的出路?在
要同时运行两个子流程:
注意:文件在退出
with
-语句时关闭,不要手动调用.close()
。在您将需要使用}是一个稍微低一层的接口,通常需要使用)。在
Popen
,如您链接的答案中所述(以及其他许多地方,因为{相关问题 更多 >
编程相关推荐