如何在CentOS上指定init脚本之间的依赖关系?
E.g。我需要在服务“tomcat”启动时首先启动服务“soffice”。
在Gentoo上我们可以做到:
depend() {
need soffice
}
但是CentOS呢?
答案 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