Socat独占锁定PTY

问题描述 投票:0回答:1

我希望只有一个进程可以打开 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 机器上运行

linux locking ioctl socat
1个回答
5
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.