Tente adicionar Wants=network-online.target
e After=network.target
Veja: link
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.
Tente adicionar Wants=network-online.target
e After=network.target
Veja: link
Tags systemd