6.6. 没有 getty

如果您使用串行控制台只是为了打印控制台消息,则不要在串行端口上运行 getty 进程。

getty 遵循一种锁定约定,该约定阻止其他串行端口应用程序使用该串行端口。 由于我们不希望其他进程使用该串行端口,但又没有运行 getty,请手动创建锁文件。

创建文件/var/lock/LCK..ttyS0以包含以下文本1. 这让其他潜在的串行端口应用程序知道进程 1 正在使用该串行端口。 进程 1 始终是 init 进程,并且 init 始终在运行,因此该串行端口始终被锁定。

该文件在每次系统启动时创建,因为锁文件通常在系统启动时被清除。 创建锁文件的便捷位置是在/etc/rc.serial。 它应包含

图 6-11。 以下内容位于/etc/rc.serial在未使用 getty 时锁定控制台串行端口

# Lock /dev/ttyS0 as it is used by an output-only console
(umask 022 && \
 rm -f '/var/lock/LCK..ttyS0' && \
 echo '1' > '/var/lock/LCK..ttyS0')