浅谈Linux系统中的7种运行级别及其原理

浅谈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

浅谈Linux系统中的7种运行级别及其原理

文章插图
 
运行级别的原理:
在/etc/rc.d/init.d下有许多服务(service)脚本程序 , 如下图
比较常用的network、sshd等等
浅谈Linux系统中的7种运行级别及其原理

文章插图
 
在/etc/rc.d下有7个rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d、rc6.d目录
对应系统的7个运行级别 , 如下图所示
浅谈Linux系统中的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
浅谈Linux系统中的7种运行级别及其原理

文章插图
 
查看运行级别runlevel
现在我们是运行在3
浅谈Linux系统中的7种运行级别及其原理

文章插图
 
切换运行级别init n
n为:0、1、2、3、4、5、6
补充:
init 0为关机 , init 6为重启系统 。
最后补充:
如何管理系统服务
提要:
【浅谈Linux系统中的7种运行级别及其原理】在目录/etc/rc.d/init.d下有许多服务器脚本程序 , 称为服务(service) 。
在/etc/rc.d下有7个名为rc{0..6}.d的目录 , 对应系统的7个运行级别 。
1、
终端输入命令chkconfig --list , 查看各运行级别服务启动情况 。
浅谈Linux系统中的7种运行级别及其原理

文章插图
 
2、
若想开机自启某些服务 , 通过chkconfig 服务名 on
若想关闭 , chkconfig 服务名 off
补充:
默认情况下 , chkconfig会自启动2345这四个级别
如果想自定义可以加上--level选项
测试完成
欢迎大家给予宝贵的意见或者建议 。
欢迎大家补充或者共享一些其他的方法 。
感谢支持 。




    推荐阅读