![Centos 7 上启动服务的 /dev/console 终端](https://linux22.com/image/673883/Centos%207%20%E4%B8%8A%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E7%9A%84%20%2Fdev%2Fconsole%20%E7%BB%88%E7%AB%AF.png)
我正在运行 Centos 7 的系统上工作,总体来说我对 Linux 还很陌生。我有一个任务,重新实现一些启动服务,这些服务在我们以前的系统中由第三方工具自动支持,该系统运行在 Centos 6.6 上。在我们的旧系统中,一些启动服务(通过 chkconfig 注册)可以在屏幕上显示自定义消息,并且能够在需要时接收用户输入,尽管它们配置为运行t 启动时,登录提示之前。然而,当我尝试将服务脚本(基本上是 bash shell 脚本)从旧系统复制到新系统并用 注册它们时chkconfig
,我无法使它们正常工作。消息没有输出到屏幕上,用户输入提示也不起作用。我深入研究了其中一个服务脚本并尝试登录某些命令(如)的文件输出tty
,who -r
并在旧系统和新系统上获得不同的结果。在旧系统中,日志如下:
tty is /dev/console
run level is run-level 3 2015-12-30 03:21
使用新系统后,日志如下:
tty is not a tty
run level is
根据输出,tty
我理解为什么新系统上的启动服务无法接收用户 I/O,因为它不是 tty,而在旧系统上它是 /dev/console,它是一个 tty。
由于我对 Linux 还很陌生,我关心的是如何让启动服务(使用 注册chkconfig
)具有 tty,/dev/console
或者更一般地说,在登录提示之前具有一个 tty 来接收用户 I/O。如果可能的话,请帮助解释我在上面的日志中看到的不同的原因。
(抱歉,问题太长了,感谢您阅读:-))