Socat仅在PTY打开时才打开TCP

Socat仅在PTY打开时才打开TCP

我正在尝试将虚拟 PTY 与接受端口 23 上的 TCP 连接的远程设备链接。目标设备上套接字的打开和关闭是重要的事件和设备操作的一部分。

我目前正在尝试使用以下方法socat来完成这项工作:

socat pty,link=/dev/ttyACM99,raw tcp:192.168.0.15:23

它可以工作,因为我可以打开/dev/ttyACM99设备并读取/写入数据 - 但是一旦socat运行命令,TCP 端口就会打开,并且仅在socat终止时才会关闭。

我需要的是 TCP 端口只有在其他软件(什么不重要)打开后才打开/dev/ttyACM99。当/dev/ttyACM99关闭时,TCP 连接应该断开。

我在手册页或谷歌搜索中找不到任何东西socat(尽管用谷歌搜索是一件相当棘手的事情),说这甚至可以用socat,而且我真的不想去麻烦地编写自己的东西管道程序(尽管如果我真的需要的话我可以)。


更新:

我找到了wait-slavePTY 管道的参数,它可以完成我想要的操作 - 但它现在socat在关闭 PTY 时终止,这远非理想。

socat pty,link=/dev/ttyACM99,raw,wait-slave tcp:192.168.0.15:23

是否有类似 或 之类的选项wait-slave可以与之配合wait-slave,仅关闭目标套接字而不是关闭整个程序?目前我正在运行它,while 'true'目前看来可行,但并不理想。

相关内容