我为串行设备开发了一个仿真器,并为此使用/dev/ptmx
接口在/dev/pts/XX
中创建了伪终端主描述符和相应的从属设备。一切正常,直到打开/dev/pts/XX
的客户端关闭它。然后主描述符显然也被关闭了。有没有办法让主fd在客户端重新连接中存活?我需要一个服务器进程,可以继续为其客户端提供服务。
如果有更好的方法来使用模拟的串行设备,也非常欢迎提示!
答案 0 :(得分:1)
使服务器本身在O_WRONLY
模式下打开从属设备,并在服务器正在服务时保持生成的fd。似乎slave ptys可以多次打开并被引用计数,因此只要服务器保持打开状态,其他进程就可以打开和关闭它多次。