Linux程序设计(18)第五章:终端(1)temios结构 虚拟控制台 伪终端 PTY

Linux程序设计(18)第五章:终端(1)temios结构 虚拟控制台 伪终端 PTY

1. temios结构

行编辑:是否允许用退格键进行编辑。
缓存:是立即读取字符,还是等待一段可配置的延迟之后再读取它们。
回显:允许控制字符的回显,例如读取密码时。
回车/换行(CR/LF):定义如何在输入/输出时映射回车/换行符,比如打印5字符时应该如何 处理。

2. 虚拟控制台

Linux提供了虚拟控制台的功能,一组终端设备共享PC电脑的屏幕、键盘和鼠标。
通常情况下, 一个Linux安装将配置8个或12个虚拟控制台。虚拟控制台通过字符设备文件/dev/ttyN使用,其中N 代表一个数字,从1开始
如果使用字符界面登录Linux系统,在Linux启动并运行后,你首先会看到一个login提示符,在输 入用户名和密码登录后,你所使用的终端设备就是系统中的第一个虚拟控制台,即终端设备 /dev/tty1

使用命令who和ps,你即可看到目前登录进系统的用户,以及在这个虚拟控制台上运行的shell和执行的程序

[root@localhost linux-]# who
root     tty1         2021-09-29 06:42
root     pts/0        2021-10-07 21:45 (gateway)
[root@localhost linux-]# ps -e | grep tty
1358 tty1     00:00:00 bash
[root@localhost linux-]#

3. 伪终端 PTY

许多类UNIX系统,包括Linux,都有一个被称为伪终端的功能。
这些终端的行为与我们在本章所 用的终端非常相似,唯一区别是伪终端没有对应的硬件设备。它们可以用来为其他程序提供终端形式的接口。
例如,两个象棋程序可以通过伪终端进行对弈,尽管程序本身是为与人类棋手通过实际终端进行 对弈而设计的。这需要有个应用程序作为中介,它将这个程序的棋子走法传递给另一个程序,反之亦 然。中介程序通过伪终端来欺骗象棋程序,让它在没有实际终端的情况下正常运行。
过去,伪终端都是以系统特定的方式实现的,但现在它们已被合并到单.UNIX规范中,称为PTY

おすすめ

転載: blog.csdn.net/lqy971966/article/details/120769164
おすすめ