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 kill subcommand
systemctl kill <service_name>
After updating a configuration file we must either restart or 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 and reload?
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 enable it:
systemctl enable httpd
On the contrary, if you want service does not starts automatically, then use disable
systemctl disable httpd
Also you can check if a service is enabled with is-enabled subcommand
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 .conf (e.g. override.conf).
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.