簡體   English   中英

os.waitpid不返回包含pid的元組及其退出狀態

[英]os.waitpid doesn't return a tuple containing pid, and its exit status

我嘗試為這個調用subprocess python bug提出一個解決方法。 我想方法是將os.systemos.waitpid結合使用。 為了測試這個,我編寫了下面的代碼。 system_call_test.pypid和lot的文本寫入文件f 但是調用os.waitpid()總是os.waitpid()我這個錯誤: OSError: [Errno 10] No child processes 所以我很難檢查這個結構是否正常工作。 如何確保腳本等待另一個腳本的終止。 我在Windows XP / python 2.7上。

import os
f = r'D:\temp\called.txt'

s = os.system('C:\Python27\python.exe D:\python_spullen\system_call_test.py')
with open(f, 'r') as f_in:
    i = f_in.readline()[-4:]
    print i
    rr = os.waitpid(int(i),0)
    print rr

os.system返回進程的退出代碼 所以s以上已填充和進程已退出。 os.waitpid無需等待。

system()fork() + exec() + waitpid() 你不應該再次調用waitpid()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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