subprocess stdout没有接收到所有输出

时间:2017-02-17 11:46:58

标签: python python-2.7

我试图创建一个运行程序的脚本,然后运行第二个程序从第一个程序获取日志,并等到它收到特定的日志条目后再继续。

这是我到目前为止所做的:

log_process = subprocess.Popen(["/system/bin/logcat", "-T10", "-s", "SetupReceiver:I"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
call_am("start_setup")
while True:
    for line in iter(log_process.stdout.readline, "_exit_string_"):
        logger.debug("{0} found in logcat".format(line))
        if "Automatic setup succeeded" in line:
            # Setup complete
            log_process.kill()
            break
        elif "Automatic setup failed" in line:
            # Setup failed
            disable_device("TV Setup Failed")
            log_process.kill()
            break

该脚本成功启动了两个程序,并在其中打印了前几个日志消息的调试。但是它会停止并且不再输出任何日志。

为什么没有检测到日志,如何使脚本生效?

0 个答案:

没有答案