从子进程中读取实时输出,而只知道其pid

时间:2019-05-20 21:45:25

标签: python subprocess pipe pid stderr

在我正在创建的应用中,我通过自己的subprocess运行了一些代码,但是subprocess'代码也具有自己的错误检查,我希望能够从中定期访问全局Python会话,以“查看”是否发生了任何事情(即错误)。

我已经遍历了其他SE答案,例如herehere,但他们都假定人们可以访问subprocess.Popen对象。但是,由于我的应用具有分段性质,因此我无法访问它,只能访问pid中的subprocess_object.pid

如果 ,有一种方法可以利用pid访问其子流程的stdoutstderr,可以以不连续的时间间隔打印这些输出,捕获什么 最新 错误消息?

伪代码:

import time

subprocess_object = subprocess.Popen(['python3', 'my_code.py'])
pid = subprocess_object.pid
...
for i in range(100):
   time.sleep(5)
   print(subprocess.stdout(pid=pid))

非常感谢您的帮助。

0 个答案:

没有答案