A service (also called a daemon process) is software that runs on a computer, generally in the background. This is usually because it's something that the administrator isn't likely to interact with directly.
For instance, a network service runs at the application layer to provide some form of service over a network. It's expected that client computers will contact the service for access. A common example is the Apache web server. It runs on a system so that devices connected to the internet can view a specific set of files on a computer.
Red Hat Enterprise Linux (RHEL) provides an environment where these network services can run. RHEL also provides a utility named systemd to help you manage these services.
systemd has been the default service manager since RHEL 7. It's the first thing that gets started (PID 1), and it is responsible for starting the rest of the system. It activates server daemons, system resources, and various other processes. With systemd, you can start, stop, and check the status of the network services running on your server. You interact with systemd by using the systemctl command.
Start a service
To start a given service, use:
$ sudo systemctl start <service>
For example, to start the sshd service, type:
$ sudo systemctl start sshd.service
You can ignore .service and run the systemctl start sshd command.
[ Free cheat sheet: Get a list of Linux utilities and commands for managing servers and networks. ]
List services
You can list all loaded services on a server with:
$ sudo systemctl list-units --type=service
Stop a service
To stop a service, type:
$ sudo systemctl stop sshd
To find out whether a service is running, inactive, enabled, disabled, or has exited, use:
$ sudo systemctl status sshd
The systemctl command also has is-active and is-enabled options to see whether a service is active or enabled. For example, to check if a service is active or enabled, run:
$ systemctl is-active sshd
This command gives two possible outputs. The service is either active, which means it is running, or it's inactive, which means it is stopped or not running.
Enable a service
You can configure a service to start automatically with the system so that you don't have to start it manually after the server reboots or restarts.
To enable a service, which means the service starts automatically when the server boots, use:
$ sudo systemctl enable sshd
To both start and enable a service, add the --now option, like this:
$ sudo systemctl enable --now sshd
To check whether a service is enabled, enter:
$ sudo systemctl is-enabled sshd
When a service is enabled, it starts automatically at boot. When it's disabled, it doesn't start automatically at boot.
[ Free download: Advanced Linux commands cheat sheet. ]
Disable a service
To disable a service, so the service will not start automatically at boot time, run:
$ sudo systemctl disable sshd
Wrap up
Not everything uses systemctl by default. Some applications are intended to be started manually. Of course, you can always add your own systemd service files when you need a network service to start automatically.
Systemd is full of features, and the systemctl command gives you easy control over the services your computer runs.
About the author
I work as Unix/Linux Administrator with a passion for high availability systems and clusters. I am a student of performance and optimization of systems and DevOps. I have passion for anything IT related and most importantly automation, high availability, and security.
More like this
File encryption and decryption made easy with GPG
Behind the scenes of RHEL 10, part 3
OS Wars_part 1 | Command Line Heroes
OS Wars_part 2: Rise of Linux | Command Line Heroes
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Virtualization
The future of enterprise virtualization for your workloads on-premise or across clouds