浅谈Linux系统中的 7 种运行级别
Linux 系统 7 个运行级别(runlevel):
运行级别 0:
系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动。
运行级别 1:
单用户工作状态,root 权限,用于系统维护,禁止远程登陆。
运行级别 2:
多用户状态(没有 NFS)。
运行级别 3:
完全的多用户状态(有 NFS),登陆后进入控制台命令行模式。
运行级别 4:
系统未使用,保留。
运行级别 5:
X11 控制台,登陆后进入图形 GUI 模式。
运行级别 6:
系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动。
补充:
查看服务的运行级别
chkconfig –list
下面比较常用的 mysqld 服务,运行在 2 3 4 5 级别
mysqld 0:off1:off2:on3:on4:on5:on6:off
运行级别的原理:
在/etc/rc.d/init.d 下有许多服务(service)脚本程序,如下图
比较常用的 network、sshd 等等
在/etc/rc.d 下有 7 个 rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d、rc6.d 目录
对应系统的 7 个运行级别,如下图所示
rc{0..6}.d 目录下都是一些符号链接文件
这些链接文件都指向 init.d 目录下的 service 脚本文件
命名规则为 Knn 服务名或 Snn 服务名,n 为数字。
系统会根据指定的运行级别进入对应的 rcN.d 目录
并按照文件名顺序检索目录下的链接文件
对于以 K(kill)开头的文件,系统将终止对应的服务
对于以 S(start)开头的文件,系统将启动对应的服务
如下图,以 rc3.d/目录为例
#即:如果开机运行级别在 3,会执行 rc3.d/目录下 S 开头的脚本
#如:S10network
#这个链接文件会去/init.d/network 找到脚本文件执行
S10network -> ../init.d/network
查看运行级别runlevel
现在我们是运行在 3
切换运行级别init n
n 为:0、1、2、3、4、5、6
补充:
init 0 为关机,init 6 为重启系统。
最后补充:
如何管理系统服务
提要:
在目录/etc/rc.d/init.d 下有许多服务器脚本程序,称为服务(service)。
在/etc/rc.d 下有 7 个名为 rc{0..6}.d 的目录,对应系统的 7 个运行级别。
1、
终端输入命令 chkconfig –list,查看各运行级别服务启动情况。
2、
若想开机自启某些服务,通过chkconfig 服务名 on
若想关闭,chkconfig 服务名 off
补充:
默认情况下,chkconfig 会自启动 2345 这四个级别
如果想自定义可以加上–level 选项
测试完成
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。