Я выполнил команду в фоновом режиме. (например, «sleep 10 &») и pro c .poll () возвращает 0 почти сразу. НО, pro c .stdout.readline () удерживается, пока не пройдет 10 секунд. Почему subprocess.stdout.readline () удерживается после завершения команды? ПОЖАЛУЙСТА, ПОМОГИТЕ ..
proc = subprocess.Popen('sleep 10 &', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
while proc.poll() is None:
while True:
output = proc.stdout.readline() // <-- block
if output != '':
print output
else:
break