捕获子进程的子进程的输出

时间:2018-04-18 21:53:56

标签: python subprocess

所以我在我的脚本中使用以下内容来捕获子进程的stdout和stderr输出:

output = subprocess.check_output(
    cmd,
    stderr=subprocess.STDOUT
)

这是在游泳,但是,我的子进程有一个它自己调用的子进程。它自己调用的子进程有我想捕获的输出。但是,在我当前设置的情况下,我只捕获我创建的子进程的输出,并且不接收它的子进程的任何输出。

有没有办法可以捕获由我的代码启动的子进程生成的子进程的输出?

1 个答案:

答案 0 :(得分:1)

进程无法访问子子进程的输出,因此中间子进程必须表现为代理(它在其输出中写入子子进程的输出)或子进程必须将其输出发送到某处(例如临时文件)将由进程读取