[英]Process control - How to wait for child process to complete?
使用 C fork()
,父進程可以waitpid(childPid, &returnStatus, 0);
子進程退出。
在蟒蛇中,
completed = subprocess.run(['ls', '-1'])
CompletedProcess實例不會將控制權交給父進程以等待子進程。 子進程可以運行比正常時間更長的時間。
如何等待子進程完成? 如何在沒有pid的情況下在失敗時中止/殺死子進程?
使用這個:
p = subprocess.Popen(['ls', '-1'])
p.wait()
要查看子p.poll()
是否已經完成,請查看p.poll()
。 如果這是None
,則進程仍在運行。 如果它是一個數字,那就是進程的退出代碼。
只有父處理器可以使用wait(),子處理器不能。 但是子處理器可以使用 pause() 來等待信號到來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.