Socat对PTY的独家锁定

时间:2017-10-04 17:17:30

标签: locking socat

我想只打开一个进程来打开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机器上运行

1 个答案:

答案 0 :(得分:5)

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

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