Como fazer com que o serviço systemd pare antes do serviço de rede

3

Eu tenho um serviço que leva entre 1 minuto e 30 segundos para iniciar ou parar. Eu preciso ser iniciado após o serviço de rede e precisa ser interrompido antes do serviço de rede.

Funciona bem quando trigerred diretamente no terminal com os comandos abaixo.

# systemctl start ibmbpm
# systemctl stop ibmbpm

Eu tenho um problema quando tento desligar o computador. O desligamento é bem rápido (cerca de 20 segundos), então eu acho que não está esperando meu serviço terminar de desligar o computador e nos logs eu posso ver que está tendo problemas para se conectar a uma interface local na porta 8879. Essa é a razão pela qual estou pensando que não está esperando meu serviço parar antes de parar a rede.

Eu posso ver o seguinte erro em meus logs do WebSphere (IBM BPM):

Caused by: com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: ADMC0016E: the system cannot create a soap connector to connect to host bpmpfs01.XXXXXX.XXX at port 8879.

Aqui está o meu arquivo de serviço do systemd

[Unit]
Description=IBM Business Process Manager 8.5.7
Requires=network.service
After=network-online.target

[Service]
Type=oneshot
ExecStart=/opt/IBM/ibmbpm start
RemainAfterExit=yes
KillMode=none
ExecStop=/opt/IBM/ibmbpm stop
TimeoutStopSec=600

[Install]
WantedBy=multi-user.target

Existe uma maneira de fazer isso funcionar corretamente? Eu realmente aprecio qualquer ajuda.

    
por Ranieri Mazili 22.06.2017 / 19:10

1 resposta

0

Tente adicionar Wants=network-online.target e After=network.target

Veja: link

    
por 23.09.2018 / 02:06

Tags