栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检测何时有人在Linux中打开pty(伪终端)的从属端?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检测何时有人在Linux中打开pty(伪终端)的从属端?

您找不到此原因的原因是,没有专门允许它的文档化接口。但是,有一个技巧可以使您做到这一点。在打开伪终端主机(假定为文件描述符

ptm
)之后,打开并立即关闭从机端:

close(open(ptsname(ptm), O_RDWR | O_NOCTTY));

这将在tty主机上设置HUP标志。现在,您可以定期轮询HUP标志

poll()
(例如,每当数据来自数据源时):

struct pollfd pfd = { .fd = ptm, .events = POLLHUP };poll(&pfd, 1, 10 );if (!(pfd.revents & POLLHUP)){    }

如果阅读器消失了,

POLLHUP
将再次设置。

在您的情况下,您甚至可能甚至不需要记住从一个循环到下一个循环,给定的pty是否具有读取器-
只需阻塞

read()
数据源,然后在数据可用时,同时同步
poll()
所有主tty并发送数据发送到任何未
POLLHUP
设置的位置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408845.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号