我有兩個不同的可執行文件(run1
和run2
)。我想同時運行它們。它們共享一個只讀輸入文件,但是,它們是不同的過程。 是否可以同時撥打call
? 目前,由於我已經編碼,cmd2
的呼叫等待cmd1
的呼叫完成。分別運行2個或多個子進程調用
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答案是唯一(或更好)的出路?
調用等待進程返回,Popen不是這樣,你可以使用Popen –
http://stackoverflow.com/questions/16071866/non-blocking-subprocess-call –
相關:[Python線程多個bash子進程? ](http://stackoverflow.com/q/14533458/4279) – jfs