Python子进程等到stdout

时间:2017-08-03 07:03:11

标签: python subprocess

我有一个子进程,我从subprocess.Popen开始。在我发送SIGINT之前,此过程永远不会退出。我想阻止执行,因为子进程的stdout上有一个特定的字符串(比如foo)。有没有"容易"没有创建线程和队列的方式?就像是 myprocess.wait_until("foo")

1 个答案:

答案 0 :(得分:2)

while True:
  line = p.stdout.readline()
  if specific_string in line: break

来源http://bugs.python.org/issue3907