TTY 子系统包含 TTY 驱动程序、线路规则和硬件驱动程序(键盘驱动程序、显示驱动程序)。假设我使用虚拟终端/控制台。因此,我当前的会话使用/dev/tty1
( TTY 设备 1)。当我按Ctrl+ Alt+时F2,我打开另一个现在使用的会话/dev/tty2
(TTY 设备 2)。
那么,谁控制哪个是活跃的呢?线路纪律?/dev/ttyN
inactive 的输出怎么样?附加到它的进程的输入无法输出到线路规则,因为它是一个不活动的 tty。那么,进程的输入将被删除?/dev/ttyN
答案1
如果 OP 没有指定特定系统,则建议必须是通用的。
为一个终端仿真器,最常见的配置使用伪终端。通常,那些不使用 /开发/终端XX命名约定:
- 在 Unix98 之前,BSD 伪终端命名约定占主导地位,使用诸如/dev/ttypXX(大师)和/dev/ptypXX(奴隶)。您可以在 xterm 的
ptyx.h
标头中看到一些变体。 - 在 Unix98 中,其他一些变体得到了整合,并提供了库接口以减少程序中对特殊设备名称的需要。最常见的形式是在 下分配从设备
/dev/pts
。
相比之下,一个/dev/ttyXX名称通常指(或多或少)真实的控制台。对于 Linux,这些名称是虚拟控制台,与伪终端无关。终端模拟器不会连接到这些。但您可以在每个虚拟控制台上进行活动会话。
进一步阅读:
生产线纪律是与“主动连接”不同的方面。终端仿真器确实必须初始化连接才能使用它,但一旦初始化,它将保持活动状态,直到连接的一端断开为止。
进一步阅读:
- 4.2. 串口设备介绍(Linux 网络管理员指南)
- 串行驱动程序
- 锁书之书(Linux内核)
在选择特定/dev/ttyXX
设备时,您应该考虑终端服务器。