mtr*_*eur 9 unix linux tty pty termios
如果我有一个pty或tty主/从对,如果我只有从节点的文件描述符,我怎么办?或者,换一种说法:我能只如果我有主节点的文件描述符呢?
[编辑]
我理解终端/控制台/ SSH的"典型"关系,其具有用于与人交互的主端,以及在从端上的一个或多个程序(例如,shell及其子进程).我(松散地)找到更不寻常的(/过时的)用例,例如将TTY用于其他类型的数据链接,如PPP.这个问题不是 "我没有得到这个TTY业务"的问题.我问的是("低级"?)"API"的东西:例如,如果你没有访问主FD的话,是否有任何termios/ioctl操作或对tty对的其他编程修改无法实现?
[/编辑]
我想明显的是:
还要别的吗?
我一直在阅读一些手册页并在我的Linux机器上进行试验:人们想要用pty做的基本内容(例如stty columns 78,等等)似乎在"两端"上工作.但我怀疑只有一个进程持有主端的文件描述符才能做到(特别是因为主从名称二分法暗示了一些单边控制/统治).当然,由于我只是在Linux上进行测试,因此Linux和Unix之间的各种版本/配置之间可能存在行为差异,因此我不想假设我所看到的是可移植的.
(如果有人想知道我为什么想知道)
reptyr,ptyget,expect/ empty,screen/ tmux(/ neercs?在一个与reptyr样功能),dtach/ abduco,和他们没有打我的简约多功能性的甜点.我正在努力变得更加明智,以便我可以更好地评估现有的解决方案和/或更好地设计我自己的工具来划伤我的特殊痒.感谢 StackOverflow 的相关问题建议和其他在线搜索,我找到了一个(部分?)答案:
poll(2)主FD上的A可以获取POLLPRI从端上状态改变的事件(如果终端处于“分组模式”)。当我了解更多信息时,我会尝试继续回来编辑此内容。