我需要让应用程序和监视器从同一个串行端口读取,应用程序将是唯一能够读取/写入串行端口的程序,而监视器只能读取。
我希望实现这个目标:
/----->(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 &