Start a jar file like service in linux [closed]

心不动则不痛 提交于 2019-11-27 11:03:52

问题


I want to start and stop my jar file as follows

service myService start

service myService stop

my current jar file running as follows

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

What should I do?


回答1:


You need a Service Wrapper to run the Jar file.

There are examples and instructions for init.d here. or for systemd (ubuntu 16+) here




回答2:


I prefer a light weight, free, bash script rather than a more elaborate system that requires licensing.

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

Running jar as a Linux service - init.d script gets stuck starting app

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




回答3:


If you want to try the DIY way, you can place a startup script in your /etc/init.d directory as said here.

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

However, to implement a clean yourScript stop command, I would recommend that you split your functionality into a launcher and a daemon, and make your launcher able to start or communicate with your existing daemon in order to send orders to it. Then your startup script would only invoke your launcher, which in its turn would start a new daemon, or send orders to the existing one.



来源:https://stackoverflow.com/questions/21546278/start-a-jar-file-like-service-in-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!