
Estou tentando projetar um script de inicialização/desligamento elegante (Bash) para um aplicativo Java (JAR) que irei implantar em meu servidor Ubuntu 14.04. Estou procurando uma maneira limpa, compatível com Linux e Ubuntu, de iniciar o servidor da seguinte forma:
java -jar myapp.jar <lots off subsequent arguments>
E então, no script de desligamento, encontrar o PID do JAR, emitir um SIGSTOP para permitir que o aplicativo também faça um desligamento normal por conta própria e, finalmente, eliminar o PID quando estiver bom e pronto.
fiquei me perguntando seupstart
pode ser um bom candidato para esse caso de uso e, em caso afirmativo, como? Caso contrário, quais são algumas outras abordagens que eu poderia adotar?
Responder1
SIGSTOP pausa o processo e não faz um desligamento limpo. Use SIGTERM.
Aqui está um rascunho de trabalho inicial para um processo java:
description "my java app"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec java -jar myapp.jar <arguments>
isso deve funcionar bastante bem.