What is the best way to create a java application that can be run using ‘service’ on Linux? I was going to use the JSW available here, but cannot use the licence on that (licence is either GPL or it costs money as far as I can tell). I’d need an apache style licence.
I’m using maven to build, so it would be great if it was possible to create the service using a maven plugin, but any other suggestions would be great.
I've seen Apache Commons Daemon, is there a maven plugin for this? Documentation seems sparse, so a working example of this would be good...
Thanks
Services on Linux are just shell scripts which start background processes. Have a look in /etc/init.d
- you can open the files in a text editor. All you need is a bash script which responds to the parameters start
and stop
in an appropriate way (eg. start
will start your service and record the process ID in a known location, stop
will kill the process with the PID from the file you created), and then place it in /etc/init.d
.
Have a look at Init Scripts and An introduction to services, runlevels, and rc.d scripts