我是一个Python noob。
有没有办法在Python中获取所有正在运行的进程的STDOUT和STDERR?一些进程在很长一段时间后退出,并且它们的状态不断被写入STDOUT。
答案 0 :(得分:0)
逐行获取子进程输出而不等待它关闭:
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
while True:
o = p.stdout.readline()
if not o:
break
print o
如果要从流程中读取每个'n'个字符,可以使用p.stdout.read(n)。
希望这会有所帮助。