Scripts de inicio y apagado para servidores Java

Scripts de inicio y apagado para servidores Java

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 siupstartpuede 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.

información relacionada