Зависимость службы инициализации LSB

Зависимость службы инициализации LSB

Я добавил две службы A и B. B зависит от A, то есть если я запущу B, то A должна запуститься автоматически, если она еще не запущена. Но A не запускается автоматически, когда я запускаю B.

Можете ли вы сказать, где я не прав? Я упомянул скрипты Init для обеих служб ниже.

Я не хочу использовать upstart и systemd. Я хочу реализовать это с помощью init-скриптов (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 будут запущены в правильном порядке во время загрузки, но ручной запуск одного сценария инициализации не приведет к волшебному запуску другого (у него даже нет возможности узнать, запущен ли он уже).

Некоторая информация озагрузка на основе зависимостейв Дебиане.

Связанный контент