O serviço Systemd inicia apenas um dos dois processos, mas apenas na reinicialização do sistema operacional

O serviço Systemd inicia apenas um dos dois processos, mas apenas na reinicialização do sistema operacional

Eu tenho um arquivo de unidade systemd que inicia dois processos completamente separados, Apache e Tomcat (e antes de você comentar sobre isso, sei que deveria criar apenas dois arquivos de unidade separados, mas as permissões neste servidor estão totalmente bloqueadas). Ao iniciar o serviço através de uma sessão SSH, tudo inicia e para perfeitamente. No entanto, quando o servidor é reinicializado, apenas o Apache inicia o backup, com o systemd afirmando que está tudo bem. Quando verifico os logs do Tomcat, parece que ele foi iniciado, mas o processo simplesmente morre em algum momento.

O que poderia estar causando essa diferença de comportamento? Este serviço precisa esperar por mais alguma coisa antes de começar?

Arquivo de unidade:

[Unit]
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/home/opiusr/appstart.sh
ExecStop=/home/opiusr/appstop.sh

[Install]
WantedBy=multi-user.target

Ambos os scripts são wrappers que contêm algo assim:

/bin/su - opiusr -c "/home/opiusr/bin/start_tomcat -s" >> $LOG_FILE
/bin/su - opiusr -c "/home/opiusr/bin/start_apache -s" >> $LOG_FILE

E esses scripts simplesmente envolvem os scripts de início e parada do Tomcat e do Apache, com algum registro extra.

EDIT: Eu vi esta resposta que é bastante semelhante: Systemd mata o serviço imediatamente após o início

Gostaria de saber se posso fazer outra coisa, visto que o sistema está bastante bloqueado. Tenho acesso total de edição ao arquivo da unidade e aos dois scripts, mas não tenho a capacidade de criar novos serviços ou tocar em diretórios do sistema.

informação relacionada