Socat 对 PTY 的独占锁定

Socat exclusive lock to PTY

我只想要一个进程来打开由 socat 创建的 PTY 设备。 我使用以下创建了 my_ser 设备,但它可以被多个进程读取/写入。

socat -t 0 INTERFACE:my_nw,type=2 PTY,mode=0777,rawer,link=/dev/my_ser

我试过用 socat -t 0 INTERFACE:my_nw,type=2 PTY,mode=0777,rawer,link=/dev/my_ser,ioctl-void=0x540c使用PTY独占锁(TIOCEXCL),但不起作用。 我可以看到正在执行 IOCTL,但没有任何效果。

我 运行 在 Ubuntu 机器上

我现在更详细地了解了 TIOCEXCL 标志。打开 PTY 终端的应用程序应该使用这个标志来获得独占锁。如果我们在 socat 命令中创建 PTY 期间使用它,它没有任何效果。但它也不会给出任何错误。

因此应用程序应该调用 ioctl 标志并且应该从这里删除它。