Create a Unit file to define a systemd service:
File: sudo vim /etc/systemd/system/myservice.service
[Unit]
Description=Extension Name Service
After=network.target
[Service]
User=root
WorkingDirectory=/usr/local/bin
# when using config:
# ExecStart=/usr/local/bin/super-tables-linux
# when NOT using config:
# ExecStart=/usr/local/bin/super-tables-linux –port 443 –cert yourdomain.crt –key yourdomain.key
Restart=always
[Install]
WantedBy=multi-user.target
This defines a simple service. The critical part is the ExecStart directive, which specifies the command that will be run to start the service.
1. Once you have a unit file, you are ready to test the service:
sudo systemctl start myservice
2. Check the status of the service:
sudo systemctl status myservice
If the service is running correctly, the output should resemble the following:
● myservice.service – Example systemd service.
Loaded: loaded (/lib/systemd/system/myservice.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-05-01 18:17:14 UTC; 4s ago
Main PID: 16266 (bash)
Tasks: 2 Memory: 748.0K CPU: 4ms CGroup: /system.slice/myservice.service
├─16266 /bin/bash /usr/bin/test_service.sh
└─16270 sleep 30
May 01 18:17:14 localhost systemd[1]: Started Example systemd service..
May 01 18:17:14 localhost cat[16269]: Example service started at 2018-05-01 18:17:14
May 01 18:17:14 localhost bash[16266]: Looping…
3. The service can be stopped or restarted using standard `systemd` commands: