《UNIX环境高级编程》笔记 第十九章-伪终端

1. 概念

伪终端这个术语是指,对于一个应用程序而言,它看上去像一个终端,但事实上它并不是一个真正的终端。下图是伪终端的一个典型安排

在这里插入图片描述

  • 通常,一个进程打开伪终端主设备,然后调用fork,子进程建立一个新的会话,打开一个相应的伪终端从设备,将其文件描述符复制到stdin、stdout、stderr。然后调用exec执行新程序。伪终端从设备成为了子进程的控制终端
  • 对于伪终端从设备上的用户进程来说,其stdin、stdout、stderr都是终端设备。通过这些描述符,用户进程能够处理第18章中的所有终端I/O函数。但是因为伪终端从设备不是真正的终端设备,所以无意义的函数调用将被忽略(如设置波特率函数等)
  • 任何写到伪终端主设备的都会作为从设备的输入,反之亦然。这看起来像一个双向管道,但是从设备上的终端行规程(见18章)使我们拥有普通管道没有的其他处理能力。

伪终端的应用:

  • 网络登录服务器

    伪终端可用于构造提供网络登录的服务器。如telnetd和rlogind服务器。注意,驱动伪终端主设备的进程通常同时读写另一个I/O流,即TCP/IP数据流。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值