Managing a systemd service on openSUSE or SLES is the normal control point for applying daemon configuration changes, starting new packages after installation, and keeping important services available after a reboot. A clear service workflow reduces downtime when you need to start, stop, restart, reload, or re-enable a unit from the shell.
Current openSUSE Leap, openSUSE Tumbleweed, and SLES releases use systemd for system services, and systemctl is the supported interface for those units. The examples below use sshd.service as a concrete unit name, but the same commands work for docker.service, firewalld.service, nginx.service, and other units shown by systemctl list-unit-files --type=service.
Use reload when a daemon supports rereading its own configuration without a full stop, use restart when a full process restart is required, and use daemon-reload only after changing a systemd unit file or drop-in under /etc/systemd/system. Enabling or disabling a service changes boot-time behavior, while --now applies the same choice immediately in the current session.
Related: How to check a Linux service status
Related: How to enable SSH on openSUSE and SLES
| Task | Command |
|---|---|
| List installed service unit files | systemctl list-unit-files --type=service |
| Check full service status | systemctl status SERVICE |
| Start or stop a service | systemctl start SERVICE systemctl stop SERVICE |
| Reload or restart a service | systemctl reload SERVICE systemctl restart SERVICE |
| Enable or disable at boot | systemctl enable SERVICE systemctl disable SERVICE |
$ systemctl list-unit-files --type=service | grep '^sshd\.service' sshd.service disabled disabled
systemd accepts both sshd and sshd.service, but using the full unit name makes status output and troubleshooting clearer.
$ sudo systemctl status sshd.service --no-pager
● sshd.service - OpenSSH Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: disabled)
Active: active (running) since Sun 2026-03-29 09:31:18 +08; 12s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1826 (sshd)
Tasks: 1 (limit: 18862)
Memory: 2.4M
CPU: 22ms
CGroup: /system.slice/sshd.service
└─1826 /usr/sbin/sshd -D [listener] 0 of 10-100 startups
##### snipped #####
The bottom of the status output shows recent journal lines for the unit.
$ sudo systemctl start sshd.service
$ sudo systemctl reload sshd.service
When you are not sure whether a unit implements reload, use sudo systemctl reload-or-restart sshd.service.
$ sudo systemctl restart sshd.service
Restarting sshd from a remote shell can drop active sessions if the daemon fails to return cleanly.
$ sudo systemctl enable --now sshd.service Created symlink /etc/systemd/system/multi-user.target.wants/sshd.service -> /usr/lib/systemd/system/sshd.service.
The --now option applies the enablement change and also starts the service in the current boot.
$ systemctl is-active sshd.service active
Common results include active, inactive, and failed.
$ systemctl is-enabled sshd.service enabled
Common results include enabled, disabled, static, and masked.
$ sudo systemctl stop sshd.service
Stopping sshd over your current SSH session can lock you out of the host until local console access is restored.
$ sudo systemctl disable --now sshd.service Removed "/etc/systemd/system/multi-user.target.wants/sshd.service".
Use this on remote-access or network-critical services only when you have another way back into the system.
$ sudo systemctl daemon-reload
This rereads unit definitions and dependency data, but it does not reload a daemon's own application configuration or restart the service.