
我新增了兩個服務 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 中。