Запустите файл jar, например службу в linux

Я хочу начать и остановить файл jar следующим образом

service myService start

service myService stop

мой текущий файл jar работает следующим образом

cd /home/alex/IdeaProjects/myService
java -jar target/myService-SNAPSHOT-1.jar server config.yml

Что мне делать?

Ответы

Ответ 1

Для запуска Jar файла вам понадобится Wrapper.

Ниже приведены примеры и инструкции для init.d здесь. или для systemd (ubuntu 16+) здесь

Ответ 2

Я предпочитаю легкий, свободный, bash script, а не более сложную систему, требующую лицензирования.

http://gustavostraube.wordpress.com/2009/11/05/writing-an-init-script-for-a-java-application/

Запуск jar в качестве службы Linux - init.d script застрял в стартовом приложении

https://askubuntu.com/questions/99232/how-to-make-a-jar-file-run-on-startup-and-when-you-log-out

Ответ 3

Если вы хотите попробовать DIY-способ, вы можете разместить запуск script в каталоге /etc/init.d, как сказано здесь.

http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

Однако для реализации чистой команды yourScript stop я бы рекомендовал вам разделить свои функции на пусковую установку и демон и сделать вашу пусковую установку способной начать или связаться с вашим существующим демоном, чтобы отправлять ему заказы. Тогда ваш запуск script вызовет только вашу пусковую установку, которая, в свою очередь, запустит нового демона или отправит заказы на существующий.