Скрипты запуска и завершения работы серверов Java

Скрипты запуска и завершения работы серверов Java

Я пытаюсь разработать изящный скрипт запуска/выключения (Bash) для приложения Java (JAR), которое я буду развертывать на моем сервере Ubuntu 14.04. Я ищу чистый, Linux- и Ubuntu-дружественный способ запуска сервера, например:

java -jar myapp.jar <lots off subsequent arguments>

А затем в скрипте завершения работы находим PID JAR-файла, выдаем SIGSTOP, чтобы позволить приложению также выполнить корректное завершение работы самостоятельно, а затем, наконец, завершаем PID, когда он будет готов.

Мне было интересно, еслиupstartможет быть хорошим кандидатом для такого варианта использования, и если да, то как? В противном случае, какие еще подходы я мог бы использовать?

решение1

SIGSTOP приостанавливает процесс, а не выполняет чистое завершение работы. Вместо этого используйте SIGTERM.

Вот черновик задания upstart для процесса Java:

description "my java app"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec java -jar myapp.jar <arguments>

это должно работать довольно хорошо.

Связанный контент