Personal Development Category (English)728x90

How to run Java application as service on Linux

Disclosure: This page uses affiliate links.When you click an affliate link,we get a small compensation at no cost to you.Thanks for your support!Learn more

In this post, we check out how to run Java application as service on Linux and also start automatically if and when the system restarts.

Before we move on to the article, let us understand what is systemd .It is part of Linux kernel that provides the System and Service Manager to bootstrap user space and manages user processes that include startup shell scripts like pm-utils, inetd, acpid, syslog, watchdog, cron and atd. systemd’s core components include the following:

  • System and service manager for Linux operating systems.
  • Systemctl to introspect and control the state of the systemd system and service manager.
  • systemd-analyze package to determine system boot-up performance statistics and retrieve other state and tracing information from the system and service manager.

Image – systemd Architecture

In the next section, we can take look at how to make Java application as Linux Daemon

#1.Create a new file on /etc/systemd with your service name

sudo vi /etc/systemd/system/springbootapp.service

Description=SpringBoot Service

ExecStart=/usr/bin/java -Xmx256m -jar /home/demo1/spring-boot-rest-postgresql-0.0.1-SNAPSHOT.jar --server.port=8081


Modify Description, User, and ExecStart fields based on your application denotes that this service will only be started when the system boots up to this target (a non-graphical multi-user environment).

Subscribe to Emails

More than 100,000 subscribers across the world trust & read Upnxtblog articles. Subscribe to emails updates!
* indicates required

Image – Daemon definition file

#2.Reload Linux Daemon

Use command systemctl daemon-reload to reload the service before we enable the newly added service

Image – Reload Daemon

Devops Engineer Masters Program will make you proficient in DevOps principles like CI/CD, Continuous Monitoring and Continuous Delivery, using tools like Puppet, Nagios, Chef, Docker, Git & Jenkins. It includes training on Linux, Python, Docker, AWS DevOps Certification Training and Splunk. The curriculum has been determined by extensive research on 5000+ job descriptions across the globe.
New customer offer! Top courses from $13.99 when you first visit Udemy

#3.Enable newly added service

Enable the new service by using systemctl enable <service name> command.

Image – Enable service

#4.Start the service & check the status

Recover over 700 unique file formats. Fully recover documents, emails, photos, videos, audio files and more. Supports 8 different data lost scenarios: deleted files recovery, recycle bin recovery, formatted drive recovery, lost partition recovery, externa

Next step is to start the service by systemctl start <service name> command and you can check the status by using systemctl status <service name> command.

Image – Start the service

#5.Stop / Disable service

As the last step, if we want to stop the service, use systemctl stop <service name> command.

Image – Stop the service

If you want to disable the service, use systemctl disable <service name> command.

Congrats! today we have learned how to Java application as Linux daemon service. If you re-look at the steps, it’s the same for any kind of application.

There are also other options like System V init script but Systemd is the preferred option as of now.

Like this post? Don’t forget to share it!

Career Category (English)640x480
How to run Java application as service on Linux
Article Name
How to run Java application as service on Linux
In this post,we check out how to run Java application as service on Linux and also start automatically if and when system restarts.
Publisher Name
Publisher Logo

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: