CentOS init脚本依赖项

时间:2010-07-02 09:42:50

标签: centos

如何在CentOS上指定init脚本之间的依赖关系?

E.g。我需要在服务“tomcat”启动时首先启动服务“soffice”。

在Gentoo上我们可以做到:

depend() {
  need soffice
}

但是CentOS呢?

2 个答案:

答案 0 :(得分:6)

开箱即用的CentOS使用整数来指定开始/停止。

如果您查看init脚本,您很可能会看到:chkconfig: - 85 15

第一个数字:开始优先级(更高=更低优先级)

第二:停止优先级(降低=优先级较低)

如果你跳到/etc/rc3.d(或取决于运行级别)。

文件以S(开始)或K(kill,stop)开头,后跟整数。同样的概念适用于数字。

在某些情况下,您会看到:chkconfig: - 2345 85 15

要更改订单,只需调整这些数字。

这仅代表运行级别(2,3,4,5)。

答案 1 :(得分:2)

初始化脚本中有一节:

### BEGIN INIT INFO
....
### END INIT INFO

可能你需要这样的东西:

### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     3 4 5
# Default-Stop:      0 1 6
# X-Start-Before:    soffice
# Short-Description: xxxx
# Description:       xxxx
### END INIT INFO

更多信息: https://wiki.debian.org/LSBInitScripts

修改此部分后,您应该禁用然后再次启用tomcat服务:

chkconfig --del tomcat
chkconfig --add tomcat