如何在Windows上等待Python中的多個子進程,而無需主動等待(輪詢)?像這樣的事情幾乎作品我:Windows上的Python - 如何等待多個子進程?
proc1 = subprocess.Popen(['python','mytest.py'])
proc2 = subprocess.Popen(['python','mytest.py'])
proc1.wait()
print "1 finished"
proc2.wait()
print "2 finished"
的問題是,當proc1
之前proc2
結束,父進程將仍然等待proc1
。在Unix上,一個循環中會使用waitpid(0)
來完成子進程的返回代碼 - 如何在Windows上的Python中實現這樣的功能?
你可以描述waitpid函數(0)你在Unix上使用? – 2010-01-27 19:55:58
http://docs.python.org/library/os.html#os.waitpid UNIX上的waitpid(0)對於任何可用的子狀態等待(除非`WNOHANG在選項中)並返回`(processid ,狀態)`元組。 – 2010-01-28 08:29:00