我有一个脚本,可在启动时启动 DB2 数据库服务器实例,还有另一个脚本,可启动一个应用程序,该应用程序依赖于 DB2 数据库必须启动。
在 Solaris 中,有一种方法可以在两个服务之间创建依赖关系,例如您可以说:只有在 DB2 运行时才能启动应用程序。
除了等待安全时刻(睡眠 x)然后启动应用程序之外,还有其他方法可以在 Redhat 6.5 中创建这样的依赖关系吗?
答案1
使用Required-Start
header 字段。假设 DB2 的初始化脚本名为db2server
,则将此行添加到第二个脚本的 header 部分:
# Required-Start: db2server
这是LSB 文档您正在寻找。
如果您查看其他脚本,您将看到包含以下字段的标题部分:
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
*-Start
和字段*-Stop
可以采用其他 SysVInit 脚本的明确名称,或者描述性占位符,如$local_fs
、$remote_fs
。
注意:我知道这个问题大约有 18 个月了,但其他答案几乎只是一组没有解释的链接。