嗯,我有兩個腳本。如下打印出b.py腳本輸出的a.py:Popen stdout讀取管道,使用睡眠死鎖
#a.py
from subprocess import Popen, PIPE, STDOUT
p = Popen(['/Users/damian/Desktop/b.py'], shell=False, stdout=PIPE, stderr=STDOUT)
while p.poll() is None:
print p.stdout.readline()
#b.py
#!/usr/bin/env python
import time
while 1:
print 'some output'
#time.sleep(1)
這works.But, 爲什麼我的腳本僵局,當我取消對time.sleep()行?
如果分開執行,你確定b.py不會自己死鎖嗎? (檢查縮進,如果它們對於兩條線都是相同的,則爲1:! –