簡體   English   中英

進程控制 - 如何等待子進程完成?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM