[英]How to detect if there is any data in stdout?
我正在使用python的subprocess
script2.py
來運行python腳本(我們稱其為script2.py
),並且該腳本將信息打印到stdout
,該信息可以使用PIPE
重定向。 問題是script2.py
停止打印信息,但script2.py
后台運行。 我想要的是檢測狀態(什么都沒有寫到stdout
)。 有什么辦法嗎?
我可以通過以下方式模擬此行為:
script2.py
for i in range(0,1000):
if i < 500:
print "HUEHUE"
接下來的500次迭代將不會發生任何事情,這就是我需要檢測以重新運行腳本的原因。
Popen.stdout如果stdout參數是PIPE,則此屬性是一個文件對象,提供子進程的輸出。 否則為“無”。
因此,您可能需要確定等待時間,然后才能考慮完成流程的初始輸出。 因此proc.stdout.readline()然后sleep(1)然后沖洗並重復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.