今天有一台服务器没有正常启动,缘由是有一个服务没有启动起来,由于A服务须要B服务启动以后才能正常启动,因此须要调整A,B服务的启动顺序。在网上查找了一些资料,总结了一下,以备之后须要。linux
要知道服务的启动顺序,就须要先知道服务如何启动的。linux有7个运行级别,用户可选择不一样的运行级别。进入/etc/rc.d/目录,可查看到对应从rc0.d到rc6.d等7个目录,这些目录即对应7个级别。服务器
进入rc3.d目录,可看到各类以K或者S开始的服务,K表示启动,S表示中止,然后面的数字就表示启动顺序。咱们以熟悉的network服务为例,这里只是个连接,其实仍是指向/etc/init.d/network,其启动值为10。ide
在rc?.d中的都是连接文件,连接在/etc/init.d中的脚本。spa
在脚本中,有#chkconfig 一行,这一行描述了当设置为自启动的时候,这个脚本的启动优先级和关闭的时候的关闭优先级。虚拟机
例如,咱们看network脚本:it
咱们能够看出,network脚本在被设置为自启动的时候,只在2345级里会自启动,启动优先级是10,关闭优先级是90。因此,若是要设置本身脚本自动启动,那么也须要有这一行。class
这是个人脚本,很简单,就是在脚本启动的时候查看network的状态,将结果写入tmp中的network.res文件中。test
在脚本中我设置的启动优先级是9,比network小,也就是说当个人脚本启动的时候,network尚未启动的。network
设置个人脚本自动启动:chkconfig --add testim
而后在/etc/rc.d/rc5.d中能够看到我脚本的连接。
而后重启虚拟机,查看tmp下的文件内容,看network启动结果:
没有启动,达到目的。