What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use systemctl to inspect a systemd service, control whether it runs now, and configure whether it starts automatically. The key distinction: start and stop change the current state; enable and disable change automatic activation. Replace httpd.service in the examples with the unit name installed on your Linux system.

Check a service’s status

Start by checking the unit name and its current state. The examples use httpd.service, but names vary by distribution and package.

systemctl status httpd.service
systemctl is-active httpd.service
systemctl is-enabled httpd.service
  • status shows the service state and recent log information.
  • is-active checks whether the service is running.
  • is-enabled checks whether it is configured for automatic activation.

For service changes, the Red Hat Enterprise Linux 10 procedure uses administrative privileges; on systems configured for sudo, prefix the commands below with sudo. Red Hat’s RHEL 10 service-management procedure documents these checks and operations.

Start, stop, and restart a service

These commands affect a service’s current state. They do not configure whether it starts automatically later.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl start httpd.service
sudo systemctl stop httpd.service
sudo systemctl restart httpd.service
  • start activates the unit now.
  • stop deactivates it now.
  • restart stops and starts it, even if it was not running beforehand. A restart can interrupt active connections, so plan accordingly.

For the exact behavior available on your system, consult its installed systemctl(1) manual.

Reload service configuration or systemd unit files

There are two different kinds of reload. Use the one that matches what you changed.

Reload the application’s configuration

reload asks the service to reload its own configuration. It works only if the service supports that operation.

sudo systemctl reload httpd.service

Reload systemd’s unit configuration

After editing or adding a unit file, tell systemd to reread unit configuration:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl daemon-reload

This does not restart the service. If your changes also require the running process to restart, do that separately. The upstream systemctl manual and Debian trixie systemctl manual distinguish service reload from reloading the system manager’s unit configuration.

Choose reload, restart, or a fallback

When a service’s configuration changes, choose an operation based on whether it supports reload and whether restarting it is acceptable.

Command Effect Use it when
reload Requests that the service reload its own configuration. The service supports reload and you want to avoid a stop-and-start.
restart Stops and starts the unit. A restart is required or acceptable; it may interrupt connections.
reload-or-restart Reloads if supported; otherwise restarts. You want systemd to use the service’s reload operation when available, with a restart fallback.
try-reload-or-restart Uses the reload-or-restart behavior only if the unit is running. You want to leave a stopped unit stopped.

Less common options can depend on the installed systemd version. Check systemctl --version and the local manual before relying on them.

Enable a service at boot

enable configures automatic activation through the unit’s installation links; it does not start the service immediately. Conversely, start runs it now without necessarily enabling it for future automatic activation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl enable httpd.service
sudo systemctl enable --now httpd.service

Use enable --now when you want both effects: configure automatic activation and start the service now. As the Debian trixie systemctl manual explains, enabling and starting are orthogonal: a service can be enabled but stopped, or running but not enabled.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Disable or mask a service

Disable automatic activation

disable removes automatic enablement, but does not necessarily stop a service that is already running.

sudo systemctl disable httpd.service
sudo systemctl disable --now httpd.service

Use disable --now when you want to remove enablement and stop the service. If you only want to stop it temporarily, use stop instead.

Block activation with a mask

mask is stronger than disabling: it blocks manual starts and dependency activation until the unit is unmasked. Use it as a deliberate restriction, not as a routine alternative to disable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
UNIX and Linux System Administration Handbook, 4th Edition
  • New
  • Mint Condition
  • Dispatch same day for order received before 12 noon
  • Guaranteed packaging
  • No quibbles returns
sudo systemctl mask httpd.service
sudo systemctl unmask httpd.service

Check the unit name and systemd version

Use the actual unit name provided by your distribution or package; httpd.service is an example, not a universal name. Unit names, required privileges, and available options vary across distributions and systemd versions. Check the installed version with:

systemctl --version

For version-specific behavior, consult the systemctl(1) manual installed on your machine.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.