Linux自启动服务优先级/顺序设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux自启动服务优先级/顺序设置相关的知识,希望对你有一定的参考价值。

今天有一台服务器没有正常启动,原因是有一个服务没有启动起来,因为A服务需要B服务启动之后才能正常启动,所以需要调整AB服务的启动顺序。在网上查找了一些资料,总结了一下,以备以后需要。

    要知道服务的启动顺序,就需要先知道服务如何启动的。linux7个运行级别,用户可选择不同的运行级别。进入/etc/rc.d/目录,可查看到对应从rc0.drc6.d7个目录,这些目录即对应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启动结果:

技术分享图片

       没有启动,达到目的。


以上是关于Linux自启动服务优先级/顺序设置的主要内容,如果未能解决你的问题,请参考以下文章

如何修改Linux系统服务启动顺序

(转)Linux 系统服务的启动顺序解析 rc.*

linux怎么设置服务开机自动启动

设置Linux开机自启动服务的常见方法都有哪些?

jetson nano(ubuntu18.04)设置开机自启动python文件

linux服务器如何关闭lnmp开机自启动