要知道服务的启动顺序,就需要先知道服务如何启动的。linux有7个运行级别,用户可选择不同的运行级别。进入/etc/rc.d/目录,可查看到对应从rc0.d到rc6.d等7个目录,这些目录即对应7个级别。
进入rc3.d目录,可看到各种以K或者S开始的服务,K表示启动,S表示停止,而后面的数字就表示启动顺序。我们以熟悉的network服务为例,这里只是个链接,其实还是指向/etc/init.d/network,其启动值为10。
在rc?.d中的都是链接文件,链接在/etc/init.d中的脚本。
在脚本中,有#chkconfig 一行,这一行描述了当设置为自启动的时候,这个脚本的启动优先级和关闭的时候的关闭优先级。
例如,我们看network脚本:
我们可以看出,network脚本在被设置为自启动的时候,只在2345级里会自启动,启动优先级是10,关闭优先级是90。所以,如果要设置自己脚本自动启动,那么也需要有这一行。
这是我的脚本,很简单,就是在脚本启动的时候查看network的状态,将结果写入tmp中的network.res文件中。
在脚本中我设置的启动优先级是9,比network小,也就是说当我的脚本启动的时候,network还没有启动的。
设置我的脚本自动启动:chkconfig --add test
然后在/etc/rc.d/rc5.d中可以看到我脚本的链接。
然后重启虚拟机,查看tmp下的文件内容,看network启动结果:
没有启动,达到目的。
原文地址:http://blog.51cto.com/zhengdzy/2108879