El servicio Systemd inicia solo uno de dos procesos, pero solo al reiniciar el sistema operativo

El servicio Systemd inicia solo uno de dos procesos, pero solo al reiniciar el sistema operativo

Tengo un archivo de unidad systemd que inicia dos procesos completamente separados, apache y tomcat (y antes de comentarlo, sé que debería crear dos archivos de unidad separados, pero los permisos en este servidor están estrictamente bloqueados). Al iniciar el servicio a través de una sesión SSH, todo comienza y se detiene bien. Sin embargo, cuando el servidor se reinicia, solo Apache se reinicia y systemd afirma que todo está bien. Cuando reviso los registros de Tomcat, parece que se ha iniciado, pero el proceso simplemente se detiene en algún momento.

¿Qué podría estar causando esta diferencia de comportamiento? ¿Este servicio necesita esperar algo más antes de comenzar?

Archivo de unidad:

[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 scripts son contenedores que contienen algo como esto:

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

Y esos scripts simplemente envuelven los scripts de inicio y detención de Tomcat y Apache, con algo de registro adicional.

EDITAR: He visto esta respuesta que es bastante similar: Systemd finaliza el servicio inmediatamente después del inicio

Me pregunto si puedo hacer algo más, ya que el sistema está bastante bloqueado. Tengo acceso completo para editar el archivo de la unidad y los dos scripts, pero no la capacidad de crear nuevos servicios o tocar directorios del sistema.

información relacionada