阻止管道程序交换过时的信息

时间:2018-02-27 14:54:21

标签: python bash pipe

我有两个管道程序:一个调试日志,可以非常快速地更新,它将信息发送到处理信息的python程序:

./debugClient | python processor.py

问题是,debugClient程序实时生成输出,处理器程序也需要能够实时处理。只要程序实时发生,它就完全可以并且预计会遗漏一些信息。然而,当两个管道连接在一起时,我似乎只将旧的调试信息发送到processor.py。我理解为什么会出现这种情况,因为这两个程序应该同时运行,而且程序不仅仅涉及STDIN循环。但我对所涉及的缓冲区以及为什么不发送新信息而不是旧信息感到困惑。

1 个答案:

答案 0 :(得分:0)

通过创建两个线程来完成我想要的,一个只收集信息,另一个处理信息。