![](/img/trans.png)
[英]Python os.waitpid throw `[Errno 10] No child processes`
[英]“No child processes” on os.waitpid
我正在嘗試在os.system
上使用Popen
和waitpid
模擬 os.system 的行為,我得到了
OSError: [Errno 10] No child processes
這是我使用它的方式
p = Popen(args, stdout = PIPE, stderr = PIPE)
stdout, stderr = p.communicate()
returncode = os.waitpid(p.pid, 0)[1]
我試圖從p.returncode
中獲取返回碼,但它總是None
,任何想法如何獲取返回碼?
communicate
已經在等待子進程終止,並自己收集返回碼。 因此,當您調用os.waitpid
時,您調用它時引用了已從操作系統表中刪除的進程 ID。 因此,您會收到“無子進程”錯誤。
在communicate
返回后,您要查找的返回碼將存儲在進程object的返回碼字段中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.