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

1

Eu tenho um arquivo de unidade systemd que inicia dois processos completamente separados, apache e tomcat (e antes de você comentar sobre isso, eu sei que deveria fazer apenas dois arquivos de unidade separados, mas as permissões neste servidor estão bem trancadas). Ao iniciar o serviço por meio de uma sessão SSH, tudo começa e termina bem. No entanto, quando o servidor é reinicializado, somente o apache inicia o backup, com o systemd afirmando que tudo está bem. Quando eu 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 algo mais 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 um registro extra.

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

Eu estou querendo saber se eu posso fazer outra coisa, visto que o sistema está bem trancado. Tenho acesso completo de edição ao arquivo da unidade e aos dois scripts, mas não a capacidade de criar novos serviços ou tocar nos diretórios do sistema.

    
por Wires77 12.04.2017 / 21:18

0 respostas

Tags