从 gevent-subprocess 获取实时标准输出?

rei*_*rdt 5 python subprocess stdout gevent

我正在尝试通过 POPEN 获取进程的标准输出。使用 gevent 1.0 readline() 和 read() 仍然阻塞进程并等待进程完成。有什么线索吗?是的,我四处寻找一个简单的解决方案。没有线程必须是可能的,对吧?

rei*_*rdt 3

我用一点技巧解决了这个问题。每当一行写入标准输出时,只需使用 self.stream.flush() 和一个辅助类刷新 Python 行缓冲区。