systemctl restart vs reload vs try-restart
Restart a systemd service correctly: full restart, config-only reload, or restart-only-if-running.
01Command
$ systemctl restart nginx02What it does
restart stops the unit and starts it again — the process is fully replaced, so all connections are dropped. reload asks the running process to re-read its configuration without stopping it (only works if the unit has a reload option, e.g. nginx); try-restart restarts only if the unit is currently active and does nothing if it is stopped. A convenient hybrid is reload-or-restart, which reloads if possible and otherwise restarts. Note that none of these commands change whether the service starts at boot — that is enable/disable.
03Risk
04Undo
$ systemctl start nginx05Sources
- systemctl(1) — Arch Linux manualEvidence: "restart ... Stop and then start one or more units"; "reload ... Asks all units listed on the command line to reload their configuration"; "try-restart ... Restart one or more units if active". The page also documents reload-or-restart.
- Ubuntu Manpage: systemctl - Control the systemd system and service managerEvidence: "restart NAME... — Stop and then start one or more units"; "reload NAME... — Asks all units listed ... to reload their configuration"; "try-restart NAME... — Restart one or more units if active".
Last verified: 2026-09-19 · Category: System & Settings
06Related solutions
timedatectl lists, sets, and verifies the system timezone and NTP sync status on systemd distributions.
hostnamectl sets the static, transient, and pretty hostname in one step on systemd distros, no reboot required.
systemctl list-timers shows every scheduled timer unit with its last and next run times, which many users forget replaces cron on modern distros.