我使用子進程模塊調用外部程序(plink.exe)登錄到服務器;但是當我調用通信來讀取輸出時,它是阻塞的。代碼如下:蟒蛇子進程通信()塊
import subprocess
process = subprocess.Popen('plink.exe [email protected] -pw 123456'.split(), shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print process.communicate() #block here
我知道這個塊是因爲plink.exe
它還在運行;但我需要在子進程終止之前讀取輸出。無論如何要這樣做?
你需要與砰砰互動,或者你只需要撥打電話和閱讀標準輸出沒有阻塞? – Khelben 2010-01-25 15:42:20
相關:[Python:從subprocess.communicate()讀取流式輸入)(http://stackoverflow.com/q/2715847/4279) – jfs 2015-05-09 14:14:44