为什么我的桌面上运行着六个 getty 进程?

为什么我的桌面上运行着六个 getty 进程?

我的桌面系统是:

$ uname -a
Linux xmachine 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 GNU/Linux

通过运行ps a | grep getty,我得到以下输出:

  900 tty4     Ss+    0:00 /sbin/getty -8 38400 tty4
  906 tty5     Ss+    0:00 /sbin/getty -8 38400 tty5
  915 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2
  917 tty3     Ss+    0:00 /sbin/getty -8 38400 tty3
  923 tty6     Ss+    0:00 /sbin/getty -8 38400 tty6
  1280 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
  5412 pts/1    S+     0:00 grep --color=auto getty

我认为 ttyX 进程适用于输入/输出设备,但我不太确定。基于此我想知道为什么有 6 个 ttyX 进程在运行?实际上我只有一种输入设备(键盘)。

答案1

这表明,因为在和getty之间每个虚拟控制台 (VC) 上都有一个进程正在运行。您可以通过使用-到-更改活动虚拟控制台来访问它们(如果您当前位于 X 中,则分别为- -和- - )。tty1tty6AltF1AltF6CtrlAltF1CtrlAltF6

有关 TTY 是什么的更多信息,请参阅这个问题,有关虚拟控制台的信息,请参阅这篇维基百科文章

答案2

Linux 机器(使用 SystemV 运行)定义了一个特殊文件,/etc/inittab该文件声明(但不仅仅是)将运行多少个 *getty 进程及其相应的终端。例如,这是inittab我的 Gentoo Linux 机器上的摘录:

# TERMINALS
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
# Wanting only four terminals!
#c5:2345:respawn:/sbin/agetty 38400 tty5 linux
#c6:2345:respawn:/sbin/agetty 38400 tty6 linux

agetty例如,使出现在第一个终端上的是tty1传递给 的参数agetty。您可以通过注释掉 中的相应行来限制可以输入登录名的控制台数量inittab,即在行的开头放置井号 (#)。

在我的机器上,我已将其减少到只有 4 个可以登录的控制台。最好至少激活其中一个,以防图形登录管理器(如果有的话)出现问题。

相关内容