我有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