浅谈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为重启系统。

最后补充:

如何管理系统服务

提要:

在目录/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选项

测试完成

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

转自https://www.toutiao.com/i6663636541157409287/?timestamp=1578976375&app=news_article&group_id=6663636541157409287&req_id=202001141232550100140400973A1CAF40

猜你喜欢

转载自www.cnblogs.com/cangqinglang/p/12191401.html