Linux命令之init:Runlevel Control
程序员文章站
2022-07-14 13:32:01
...
init命令:Runlevel Control
命令介绍
1.命令名:init
2.功能:将控制命令发送到init守护程序
3.命令参数和具体命令对应关系:
参数 | 0 | 6 | 2,3,4,5 | 1,S,s | Q,q | U,u |
---|---|---|---|---|---|---|
命令效果 | 关机 | 重启 | 改变运行级别至改级 | 救援模式 | 重新加载初始化守护程序配置 | 重新执行init守护程序 |
关于运行级别(Runlevel)
在较旧版本的CentOS系统中,“ / etc”目录下有一个名为“inittab”的文件,“ inittab”的内容为:
1. # inittab This file describes how the INIT process should set up
2. # the system in a certain run-level.
3. #
4. # Author: Miquel van Smoorenburg, <[email protected]>
5. # Modified for RHS Linux by Marc Ewing and Donnie Barnes
6. #
7. # Default runlevel. The runlevels used by RHS are:
8. # 0 - halt (Do NOT set initdefault to this)
9. # 1 - Single user mode
10. # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
11. # 3 - Full multiuser mode
12. # 4 - unused
13. # 5 - X11
14. # 6 - reboot (Do NOT set initdefault to this)
15. #
16. id:3:initdefault:
• However,in newer versions of CentOS(my 8.1 for exemple),the system no longer uses inittab,but uses "target" instead. There are 2 main targets:
1. 3 : multi-user.target(no graphical interface)
2. 5 : graphical.target(with graphical interface)
• To set default target,we can run systemctl set-default [TARGET].target.
也就是说,在最新的CentOS版本里,已经有了替代inittab的新方式target了(但是init相关命令仍然有效)。我们可以通过systemctl来对target进行相关调整和配置。
例如,如果当前的default target是graphic.target,也就是说我们默认进入的是系统的图形界面。如果我们想要开机默认进入命令行模式,其实就是想要将default target更改为multi-user target,则运行:systemctl set-default multi-user.target即可。