Возьмите этот первый сценарий slave.py
:
import sys
print('hello')
sys.exit(0)
Я вызываю его из другого сценария, ожидая его завершения:
import shlex
import subprocess
import time
p = subprocess.Popen(shlex.split('python ./slave.py'))
while True:
if p.poll():
break
time.sleep(1)
print('done')
Этот цикл выполняется вечно -мастер бесконечно ждет, пока poll
станет чем-то иным, чем None
.
Однако, если код выхода ведомого устройства установлен на 1
, тогда poll
возвращает что-то значимое - как и ожидалось на самом деле.
Я что-то делаю или я чего-то не понимаю в poll
?Я использую Python 3.6.6.