
Eu adicionei os dois serviços A e B. B depende de A, o que significa que se eu iniciar B, A deverá ser iniciado automaticamente se ainda não estiver em execução. Mas A não aparece automaticamente quando inicio B.
Você pode por favor dizer onde estou errado? Mencionei os scripts de inicialização para ambos os serviços abaixo.
Não quero usar o upstart e o systemd. Quero implementar isso usando scripts de inicialização (LSB).
B Script de inicialização:
#!/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
Um script de inicialização:
#!/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
Responder1
Isto não é possível com scripts de inicialização LSB. Eles não respeitam nenhuma dependência.
Essa INIT INFO
seção de comentários existe apenas para inicialização baseada em dependência, onde a dependência é resolvida por scripts externos e usada para iniciar scripts init.d individuais durante a inicialização.
Portanto, na sua configuração atual, os serviços A e B serão iniciados na ordem correta durante a inicialização, mas iniciar manualmente um script de inicialização não iniciará magicamente o outro (ele ainda não tem como saber se já está em execução) .
Algumas informações sobreinicialização baseada em dependênciano Debian.