根据用户的要求,需要在系统正常启动后自动运行某些脚本。

chkconfig xxx on 这个命令就自动在对应的rc2 rc3 rc4的目录下创建脚本

Linux系统启动流程之chkconfig_chkconfig

先拿rc2.d来看看

Linux系统启动流程之chkconfig_Linux_02

这个是rc2.d目录里一个文件的内容,chkconfig 2345 57 43

2345指明了运行级别,当系统运行在2 3 4 5级别时运行该脚本,57是开机优先级 43是关机优先级。开机优先级数字越低越优先执行,关机优先级是数字越低就越迟关闭。


Linux系统启动流程之chkconfig_chkconfig_03

这个是我自己写的测试脚本

注意:这个脚本必须在/etc/rc.d/init.d的目录下

通过chkconfig --add CHK.sh来使脚本开机自动运行,但是不论脚本中是否指定了运行等级,rc2.d rc3.d rc4.d rc5.d都会产生XXCHK.sh的脚本文件

Linux系统启动流程之chkconfig_系统_04

查看已有的开启服务

Linux系统启动流程之chkconfig_Linux_05

这个显示的结果符合我刚才自己写的脚本

如何删除一个已经配置的启动项?

chkconfig --del

Linux系统启动流程之chkconfig_系统_06


rc.local

这个特殊的文件需要单独说一下,如果管理员有一个命令想在开机的时候运行,但是这个命令又不值得去写一个脚本,那么可以将命令放入rc.local中。这样系统每次开机的时候都会去执行一次,而且这个文件默认是没有执行权限的,需要手动添加执行权限

Linux系统启动流程之chkconfig_Linux_07


还有一个简单的方式进行开启项设置

Linux系统启动流程之chkconfig_启动流程_08

直接在参数中指定运行级别

Linux系统启动流程之chkconfig_系统_09

这个命令的效果是rc3.d的目录下有S50CHK.sh的脚本文件,但是在其他rc2.d rc4.d的目录中没有关于CHK.sh的脚本文件,与chkconfig --add xxx.sh的命令效果不一样