Почему функция опроса Popen ждет вечно, когда код выхода равен 0? - PullRequest
0 голосов
/ 17 октября 2018

Возьмите этот первый сценарий 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...