systemctl restart vs reload vs try-restart

Restart a systemd service correctly: full restart, config-only reload, or restart-only-if-running.

LinuxcommandsystemdserviceMedium risk
Run sudo systemctl restart nginx to stop and start the unit; use sudo systemctl reload nginx when the service supports reloading config without dropping connections.

01Command

Command
$ systemctl restart nginx

02What 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

RiskMedium risk
RequirementsRoot privileges (sudo) for system units
!Warning: If a unit fails to restart, run systemctl status <unit> and journalctl -u <unit> to see why; the failed unit remains listed until systemctl reset-failed.

04Undo

Undo
$ systemctl start nginx

05Sources

  • systemctl(1) — Arch Linux manual
    man.archlinux.org · technical · 2026-09-17
    Evidence: "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 manager
    manpages.ubuntu.com · technical · 2026-09-17
    Evidence: "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