
Estoy intentando diseñar un script de inicio/apagado elegante (Bash) para una aplicación Java (JAR) que implementaré en mi servidor Ubuntu 14.04. Estoy buscando una forma limpia, compatible con Linux y Ubuntu, de iniciar el servidor de esta manera:
java -jar myapp.jar <lots off subsequent arguments>
Y luego, en el script de apagado, encontrar el PID del JAR, emitir un SIGSTOP para permitir que la aplicación también realice un cierre elegante por sí solo y finalmente eliminar el PID cuando esté bien y listo.
Me preguntaba siupstart
puede ser un buen candidato para tal caso de uso y, de ser así, ¿cómo? De lo contrario, ¿qué otros enfoques podría adoptar?
Respuesta1
SIGSTOP pausa el proceso y no realiza un apagado limpio. Utilice SIGTERM en su lugar.
Aquí hay un borrador de trabajo inicial para un proceso de Java:
description "my java app"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec java -jar myapp.jar <arguments>
eso debería funcionar bastante bien.