runlevel简介

运行级别的概念是linux操作系统中产生的,在windows中并没有此概念。

  • runlevel0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。在其他模式下更改到此模式,所有进程将被终止,机器将有序的停止,状态变为关机状态。
  • runlevel1:单用户模式,root权限,用于系统维护,禁止远程登陆。
  • runlevel2:多用户模式,和运行级别3一样,只是网络问卷系统(NFS)服务没有启动。
  • runlevel3:完全的多用户模式(有NFS)。登陆后进入控制台命令行模式(字符界面的正常模式)。
  • runlevel4:系统未使用,留给用户自定义的运行级别,保留。
  • runlevel5:多用户模式,并且在系统启动后运行X-windows,登陆后进入图形GUI模式(图形界面的正常模式)。
  • runlevel6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。

系统默认的运行级别是3或5,不能是0和6。

centos6以及之前版本

查看运行级别runlevel

[root@localhost /]# runlevel
N 5
[root@localhost /]#

临时切换运行级别init 级别号

[root@localhost /]# init 3
[root@localhost /]# runlevel
5 3
[root@localhost /]# 

再次查看运行级别,你会看到刚刚的运行级别,和现在当前的运行级别(不过这个方法重启之后,就恢复了)。
除此之外,如果您的Linux安装了图形界面(init5 级别需要安装X-WINDOWS),可以输入startx 直接进入init5 图形模式:

[root@localhost /]# startx 
[root@localhost /]# runlevel
3 5
[root@localhost /]# 

修改系统默认运行级别

刚刚输入init级别号,只是临时更改。如果需要修改系统默认的运行级别,可以用VI编辑/etc/inittab文件设置。如下面id:5:initdefault的5就是默认的运行级别,改好之后,重启Linux系统之后生效。

...
id:5:initdefault
...

centos7以及之后版本

运行级别对应表

init级别 systemctl target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4
5 graphical.target
6

设置运行级别

命令格式

systemctl [command] [unit.target]

command详解:

  • get-default :取得当前的target
  • set-default :设置指定的target为默认的运行级别
  • isolate :切换到指定的运行级别
  • unit.target :为5.1表中列出的运行级别
systemctl命令 命令说明
systemctl get-default 获得当前的运行级别
systemctl set-default multi-user.target 设置默认的运行级别为mulit-user
systemctl isolate multi-user.target 在不重启的情况下,切换到运行级别mulit-user下
systemctl isolate graphical.target 在不重启的情况下,切换到图形界面下

注:该表前两行是设置默认运行级别,后两行是设置当前运行级别。

centos7系统演示

centos8运行级别切换和默认运行级别设置

  • 查看默认运行级别systemctl get-clefault
  • 切换到字符界面systemctl isolate multi-user.target
  • 切换到 图形化界面systemctl isolate graphical.target
  • 设置默认运行级别 3 为 字符systemctl set-default multi-user.target
  • 设置默认运行级别 5 为 图形化systemctl set-default graphical.target
posted on 2021-05-20 15:44  哑吧  阅读(1119)  评论(0编辑  收藏  举报