Linux系统的运行级别
Linux系统的运行级别是指系统启动时各个服务的运行状态,也可以理解为系统的工作状态。Linux系统共有7个运行级别,每个运行级别都有不同的服务和进程运行。
以下是各个运行级别的详细解释:
- 运行级别0:系统停机状态。该级别下,系统已关闭所有服务并停止运行。在该级别下,用户不能登录系统。通常,系统在关机前会自动进入该级别。
- 运行级别1:单用户模式。该级别下,系统只允许一个用户登录,并且只有最基本的服务启动,例如文件系统和网络服务。该级别用于系统维护和修复。
- 运行级别2:多用户模式,没有网络支持。该级别下,系统启动所有基本服务,但没有网络支持。该级别用于维护系统或者在多用户环境下进行故障排除。
- 运行级别3:完全多用户模式。该级别下,系统启动所有基本服务和网络支持,并且可以支持多个用户同时登录。该级别通常用于服务器环境。
- 运行级别4:未使用。该级别保留给用户自定义。
- 运行级别5:图形界面模式。该级别下,系统启动所有基本服务、网络支持和图形界面。该级别通常用于桌面环境。
- 运行级别6:系统重启状态。该级别下,系统关闭所有服务并重新启动。在该级别下,用户不能登录系统。通常,系统在重启前会自动进入该级别。
Linux系统运行级别是通过运行级别文件来进行管理的,下面我们来介绍一下Linux系统中与运行级别相关的文件。
/etc/inittab
/etc/inittab
是Linux系统中与运行级别管理最为重要的文件之一,它定义了系统的运行级别和启动过程中需要执行的任务。在该文件中,可以指定系统的默认运行级别,以及运行级别切换时需要执行的脚本和服务。该文件的格式如下:
id:runlevels:action:process
其中,id
表示任务的唯一标识符,runlevels
表示该任务在哪些运行级别下执行,action
表示该任务的类型,可以是once
(只执行一次)、respawn
(不断重启)、wait
(等待其他任务完成后再执行)等,process
表示要执行的命令或脚本。
/etc/rc.d/目录
/etc/rc.d/
目录是Linux系统中存放启动脚本的目录之一,其中包含了各个运行级别下需要启动的服务和进程的脚本。在该目录下,可以看到不同的子目录,分别对应不同的运行级别,例如/etc/rc.d/rc0.d/
、/etc/rc.d/rc1.d/
等。在每个子目录下,都包含了以不同顺序命名的启动脚本链接文件,这些文件会在系统启动时自动执行,启动对应的服务和进程。
/etc/init.d/目录
/etc/init.d/
目录也是Linux系统中存放启动脚本的目录之一,其中包含了各个服务和进程的启动脚本。在该目录下,可以看到各个服务和进程的启动脚本,例如/etc/init.d/httpd
、/etc/init.d/mysqld
等。这些启动脚本可以手动启动、停止或重启对应的服务和进程。在每个运行级别下,系统会根据/etc/rc.d/
目录中的启动脚本链接文件来执行对应的服务和进程。
Linux可以通过切换系统运行级别来改变系统的状态和启动的服务和进程。下面我们来详细介绍一下如何在Linux系统中切换系统运行级别的操作步骤。
查看当前运行级别
在执行切换运行级别的操作之前,我们需要先查看当前系统的运行级别,以确定要切换到哪个运行级别。可以使用如下命令查看当前运行级别:
runlevel
执行该命令后,会输出当前系统的运行级别和前一个运行级别,例如:
N 5
其中,N表示前一个运行级别,5表示当前运行级别,即系统处于图形界面模式。
切换系统运行级别
要切换系统的运行级别,可以使用init
命令,命令格式如下:
init [运行级别]
其中,[运行级别]
表示要切换到的运行级别,可以是0~6之间的数字,分别对应不同的系统状态。例如,要切换到运行级别3,可以执行以下命令:
init 3
执行该命令后,系统会重新启动,并进入运行级别3,此时会启动所有必要的服务和进程,包括网络、文件系统、系统日志等,并允许多个用户登录系统进行操作。
验证运行级别
切换运行级别后,可以再次使用runlevel
命令来验证当前运行级别是否已经改变。如果输出的运行级别和之前不同,则说明切换成功。
runlevel
执行该命令后,会输出当前系统的运行级别和前一个运行级别,例如
:
N 3
其中,N表示前一个运行级别,3表示当前运行级别,即系统处于完全多用户模式。