两个管道进程在几次后执行速度变慢
two piped process slowdown execution after few time
我有两个管道进程:
gnome-terminal -e ./script1 | ./script2.py
我用于 "real time" 过程(我的 script2.py 通过串行端口控制电机)......它工作正常但在短时间后它变慢了很多......
有没有什么方法可以 "flush" 或跳过从管道传递的一些数据以使我的 "realtime" 尽可能短? (并让我的电机对来自我的脚本的任何变化尽快做出反应1)
非常感谢!
我觉得你很困惑。上面的命令将在其中启动 gnome-terminal
和 运行 ./script1
的新实例,并且还将在原始终端内启动 运行 ./script2.py
。此外,./script2.py
的标准输入将提供从 gnome-terminal -e ./script1
命令输出收集的所有数据,而 而不是 ./script1
。所以你给了 ./script2.py
错误的数据。事实上,gnome-terminal
通常不会产生任何输出(实际上,它可能会在其 stderr
中打印一些内容),因此您没有提供 ./script2.py
数据。
我有两个管道进程:
gnome-terminal -e ./script1 | ./script2.py
我用于 "real time" 过程(我的 script2.py 通过串行端口控制电机)......它工作正常但在短时间后它变慢了很多......
有没有什么方法可以 "flush" 或跳过从管道传递的一些数据以使我的 "realtime" 尽可能短? (并让我的电机对来自我的脚本的任何变化尽快做出反应1)
非常感谢!
我觉得你很困惑。上面的命令将在其中启动 gnome-terminal
和 运行 ./script1
的新实例,并且还将在原始终端内启动 运行 ./script2.py
。此外,./script2.py
的标准输入将提供从 gnome-terminal -e ./script1
命令输出收集的所有数据,而 而不是 ./script1
。所以你给了 ./script2.py
错误的数据。事实上,gnome-terminal
通常不会产生任何输出(实际上,它可能会在其 stderr
中打印一些内容),因此您没有提供 ./script2.py
数据。