pts 和 tty 之间的区别

pts 和 tty 之间的区别

可能的重复:
“终端”、“shell”、“tty”和“控制台”之间的确切区别是什么?

当我使用命令时,我总是看到 pts 和 tty,who但我不明白它们有什么不同?有人能解释一下吗?

答案1

A终端是本机终端设备,后端是硬件或内核模拟的。

A普蒂xterm(伪终端设备)是由其他程序(例如: 、screen、 或ssh等程序)模拟的终端设备。 A是 a 的从属部分普蒂

(更多信息可以在 中找到man pty。)

简短的摘要:

A普蒂posix_openpt()由一个进程通过(通常打开特殊设备)创建/dev/ptmx,由一对双向字符设备构成:

  1. 主部分,即该进程通过本次调用获得的文件描述符,用于模拟终端。经过一些初始化后,可以使用 解锁第二部分unlockpt(),并且主机用于向第二部分(从机)接收或发送字符。

  2. 从机部分锚定在文件系统中/dev/pts/x(主机可以通过 获取真实名称ptsname()),其行为类似于本机终端设备 ( /dev/ttyx)。在大多数情况下,会启动一个 shell,将其用作控制终端。

答案2

Atty是常规终端设备(例如服务器上的控制台)。
Apts是伪终端从机(一个xterm或一个ssh连接)。

man pts对伪终端有详细的描述。

相关内容