问题描述
我正在尝试 socat 将 python 脚本的实时输出定向到侦听串行端口的进程。
sudo socat -d -d pty,raw,echo=0 pty,echo=0
哪个输出
socat[10784] N PTY is /dev/pts/4
socat[10784] N PTY is /dev/pts/5
socat[10784] N starting data transfer loop with FDs [5,5] and [7,7]
然后我使用 Pyserial 将 python 脚本写入 /dev/pts/4 并将侦听进程连接到 /dev/pts/5。
如果监听进程在python脚本之后开始,它会得到很多数据,而不仅仅是最新的值。
这表明虚拟串口上有一些缓冲。
我通过打开两个终端并在第一个上输入来测试使用 shell:
echo "Test1" > /dev/pts/4
echo "Test2" > /dev/pts/4
echo "Test3" > /dev/pts/4
然后在第二个
cat < /dev/pts/5
哪个输出
Test1
Test2
Test3
但我只希望传递给虚拟串口的最后一行到达监听进程,就像它发生在没有内存的实际串口一样。
是否有任何 socat 选项可以实现这一目标?
为了同一目标,我愿意接受任何其他选择。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)