If your linux system uses
systemd then you can take advantage of
systemctl command to manage services.
Management of services is pretty straighforward, take a look on below commands
systemctl start <service_name> systemctl stop <service_name> systemctl status <service_name>
Commands are pretty self-descriptive. Now, if a service refuses to stop gracefully, you can force it with
systemctl kill <service_name>
After updating a configuration file we must either
reload the service, that causes the service to re-read the configuration file and apply changes. Take a look on below examples
systemctl restart sshd systemctl reload sshd
Now, what’s the difference between
restart will shut down service entirely and then start it again, whereas
reload will re-read its configuration but keep the same process running.
If you want a service starts automatically during system boot, then you can
systemctl enable httpd
On the contrary, if you want service does not starts automatically, then use
systemctl disable httpd
Also you can check if a service is enabled with
systemctl is-enabled httpd
Units are the main objects that systemd manages, the unit files indicates to systemd how to manage a specific unit.
By default those files are placed at
/lib/systemd/system however, you should NOT edit files here, instead, use
/etc/systemd/system which take precedence over the
/lib path and put there a copy of the unit file that you want to modify.
Alternatively If you want to modify only specific parts of a unit file you can create snippets within a subdirectory named after the unit file with a
.d appended on the end, for a service named
httpd we could create a directory
/etc/systemd/system/httpd.service.d/ and inside that directory, a file ending with
Fortunately there is a command to do this automatically for you and it is
systemctl edit <service>. Let’s say we want to change the user and group that runs the service
plexmediaserver to username
ubuntu and groupname
admins, then we use the command
systemctl edit plexmediaserver
that will launch our default editor and will allow us to override parts of the unit file, so we can enter below config
[Service] User=ubuntu Group=admins
After saving the file we can restart the service and our changes will take effect.