How To Create a systemd Service in Linux (CentOS 7)

By | 2014/12/08

Creating a systemd service in Linux is much easier than writing init scripts. Here is an example to create an iperf3 service for systemd!

OS used in this guide: CentOS 7 with EPEL for the iperf3 package

1. First, install iperf3.
$ sudo yum install iperf3

2. Next, create a user iperf which will be used to run the iperf3 service.
$ sudo adduser iperf -s /sbin/nologin

3. Next, create the following file:

Put in the following contents and save the file:
Description=iperf3 Service

ExecStart=/usr/bin/iperf3 -s


Reload systemd to see the changes
$ sudo systemctl daemon-reload

Start the iperf3 service:
$ sudo systemctl start iperf3

Check the status:
[stmiller@ny ~]$ sudo systemctl status iperf3
iperf3.service - iperf3 Service
   Loaded: loaded (/etc/systemd/system/iperf3.service; disabled)
   Active: active (running) since Mon 2014-12-08 13:43:49 EST; 18s ago
 Main PID: 32657 (iperf3)
   CGroup: /system.slice/iperf3.service
           └─32657 /usr/bin/iperf3 -s

Dec 08 13:43:49 systemd[1]: Started iperf3 Service.
[stmiller@ny ~]$ 

Stop the iperf3 service:
$ sudo systemctl stop iperf3

Start the service at boot:
[stmiller@ny ~]$ sudo systemctl enable iperf3
ln -s '/etc/systemd/system/iperf3.service' '/etc/systemd/system/'

Disable the service at boot:
$ sudo systemctl disable iperf3

More resources:
arch wiki
systemd homepage