LSB 初始化服務依賴

LSB 初始化服務依賴

我新增了兩個服務 A 和 B。但是當我啟動 B 時,A 並沒有自動出現。

你能告訴我哪裡錯了嗎?我已經提到了下面這兩個服務的初始化腳本。

我不想使用 upstart 和 systemd。我想使用初始化腳本(LSB)來實現這一點。

B 初始化腳本:

#!/bin/bash

# Author: xxxx [email protected]

# chkconfig: 2345 95 05

# processname:  B
# config: /usr/local/etc/rc.conf
# pidfile: /var/run/B.pid


### BEGIN INIT INFO
# Provides: B
# Required-Start: $local_fs $network A
# Required-Stop: $local_fs $network A
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop System daemon
# Description:
### END INIT INFO

初始化腳本:

#!/bin/bash

# Author:       xxxx [email protected]

# chkconfig:    2345 90 10

# processname:  A
# config: /usr/local/etc/rc.conf
# pidfile: /var/run/A.pid


### BEGIN INIT INFO
# Provides: A
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop System daemon
# Description: 
### END INIT INFO

答案1

這對於 LSB 初始化腳本來說是不可能的。他們本身不尊重任何依賴關係。

INIT INFO註解部分僅適用於基於依賴項的引導,其中相依性由外部腳本解析並用於在引導期間啟動各個 init.d 腳本。

因此,在您當前的配置中,服務 A 和 B 將在引導期間以正確的順序啟動,但手動啟動一個初始化腳本不會神奇地啟動另一個(它甚至沒有任何方法知道它是否已經在運行) 。

一些資訊基於依賴的啟動在 Debian 中。

相關內容