为什么退出代码为0时Popen的poll函数会永远等待?

时间:2018-10-17 14:27:47

标签: python subprocess

使用第一个脚本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。

0 个答案:

没有答案