我需要一個應用程式和一個監視器從同一個串行端口讀取數據,該應用程式將是唯一能夠讀取/寫入串行端口的程序,而監視器只能讀取。
我希望能夠實現這一目標:
/----->(Application)
---(/dev/ttyUSB0 Serial connection)---
\----->(Monitor)
我聽說socat也許可以做到這一點。但我不確定如何做到這一點。
我到底該怎麼做呢?它是一個以 192K 波特率運行的串行連接,我在 Debian Linux 系統上運行它。
答案1
有一個名為的小實用程序,tee
可以拆分stdin
為stdout
任意檔案(可能是管道),可以由兩個或多個不同的應用程式處理。
cat /dev/ttyUSB0 | tee somefile1.txt somefile2.txt | application &
tail -F somefile1.txt | monitor &
tail -F somefile2.txt | parser &