我有2管道过程:2管道过程放缓执行
gnome-terminal -e ./script1 | ./script2.py
,我使用的“实时”进程(通过我的串口script2.py控制电机)...这工作很好,但在很短的时间后,它放缓很多...
有什么办法来“刷新”或跳过一些数据从管道传递,以保持我的“实时”尽可能短? (并让我的电机尽可能快地反应来自我脚本的任何变化1)
非常感谢!
我有2管道过程:2管道过程放缓执行
gnome-terminal -e ./script1 | ./script2.py
,我使用的“实时”进程(通过我的串口script2.py控制电机)...这工作很好,但在很短的时间后,它放缓很多...
有什么办法来“刷新”或跳过一些数据从管道传递,以保持我的“实时”尽可能短? (并让我的电机尽可能快地反应来自我脚本的任何变化1)
非常感谢!
我觉得你很困惑。上述命令将启动一个新的实例gnome-terminal
并在其中运行./script1
,并且它还将在原始终端内运行./script2.py
。此外,./script2.py
的标准输入将被输入从gnome-terminal -e ./script1
命令的输出收集的所有数据,而不是./script1
。所以你给了./script2.py
错误的数据。实际上,gnome-terminal
通常不会产生任何输出(实际上,它可能会在其stderr
中打印一些内容),所以您没有给出./script2.py
的任何数据。
嗨,感谢您的回答,但我不太明白,所以从script2.py中收到的数据来自哪里?如果我只是做./script1 | ./script2.py,它会工作?谢谢 ! – Dadep
是的,'./script1 | 。/ script2.py'会导致'。/ script1'的输出被输入到'。/ script2.py'中作为输入。 – redneb
如果我有script.sh然后做gnome-terminal ./script.sh,并且在这个script.sh中,我该怎么做@#/ bin/bash cd/home/therightplace; ./script1 | ./script2.py} || {通知发送“不工作”} – Dadep
为什么gnome-terminal甚至是这个的一部分? – Nick
它只是为了能够在这个终端打印一些输出,并监视发生了什么...... – Dadep