labkompass

Command Builder · System & Dienste

systemctl Command Builder

Aktion auswählen, Dienst eintragen, fertig: Der Builder erzeugt den passenden systemctl-Befehl und erklärt, was er tut — inklusive der Unterschiede zwischen start, enable und enable --now. Ausgeführt wird hier nichts, du kopierst nur Text.

Vorlage übernehmen:

Erweiterte Optionen

Generierter Befehl

systemctl status nginx

Das bedeuten die Parameter

Aktion
Zeigt Zustand, letzte Log-Zeilen und ob die Unit beim Boot startet.
nginx
Name der Unit, z. B. nginx oder docker — die Endung .service darf weggelassen werden.

start vs. enable — der wichtigste Unterschied

start wirkt sofort, aber nur bis zum nächsten Neustart. enable richtet den Autostart beim Boot ein, startet den Dienst aber jetzt nicht. Wer einen frisch installierten Dienst dauerhaft laufen lassen will, braucht beides — genau dafür gibt es enable --now, das beide Schritte kombiniert.

Nach dem Bearbeiten von Unit-Dateien

Hast du eine .service-Datei angelegt oder geändert (z. B. unter /etc/systemd/system/), liest systemd sie nicht automatisch neu ein. Erst systemctl daemon-reload macht die Änderung bekannt — danach folgt das übliche restart. Ob alles läuft, verrät systemctl status samt der letzten Log-Zeilen; mehr Logs liefert der journalctl-Builder weiter unten.

Alle Optionen im Überblick

OptionBedeutungErklärung
--userUser-Modus (--user)Verwaltet die Units deines Benutzers statt der System-Dienste — ohne Root-Rechte.
AktionAktionWas systemctl mit der Unit tun soll.
statusstatus — Zustand anzeigenZeigt Zustand, letzte Log-Zeilen und ob die Unit beim Boot startet.
startstart — startenStartet die Unit jetzt — ohne Einfluss auf den Autostart beim Boot.
stopstop — stoppenStoppt die Unit jetzt — beim nächsten Boot startet sie ggf. wieder.
restartrestart — neu startenStoppt die Unit und startet sie neu — der Standardweg nach Konfigurationsänderungen.
reloadreload — Konfiguration neu ladenLädt nur die Konfiguration neu, ohne den Dienst zu unterbrechen — nicht jeder Dienst unterstützt das.
enableenable — Autostart aktivierenStartet die Unit künftig automatisch beim Boot — jetzt sofort passiert nichts.
disabledisable — Autostart deaktivierenEntfernt die Unit aus dem Autostart — ein laufender Dienst läuft weiter.
enable --nowenable --now — aktivieren und startenKombiniert enable und start: Autostart einrichten und sofort loslegen.
disable --nowdisable --now — deaktivieren und stoppenKombiniert disable und stop: aus dem Autostart nehmen und sofort beenden.
is-activeis-active — läuft die Unit?Antwortet nur mit active/inactive — gut für Skripte und schnelle Checks.
is-enabledis-enabled — startet sie beim Boot?Antwortet nur mit enabled/disabled.
list-unitslist-units — geladene Units auflistenListet alle aktuell geladenen Units mit ihrem Zustand.
list-unit-fileslist-unit-files — installierte Units auflistenListet alle installierten Unit-Dateien und ob sie enabled sind.
daemon-reloaddaemon-reload — Unit-Dateien neu einlesenLiest geänderte oder neue Unit-Dateien ein — nötig nach jedem Bearbeiten einer .service-Datei.
Service / UnitService / UnitName der Unit, z. B. nginx oder docker — die Endung .service darf weggelassen werden.
--typeUnit-Typ (--type)Beschränkt die Liste auf einen Unit-Typ.
--type=serviceserviceNur Dienste anzeigen.
--type=timertimerNur Timer (die systemd-Variante von Cronjobs).
--failedNur fehlgeschlagene (--failed)Zeigt nur Units im Zustand failed — der schnellste Überblick, ob etwas kaputt ist.
--allAuch inaktive anzeigen (--all)Zeigt zusätzlich inaktive und nicht gefundene Units.

Häufige Fragen

Was ist der Unterschied zwischen systemctl restart und reload?

restart stoppt den Dienst komplett und startet ihn neu — bestehende Verbindungen brechen dabei ab. reload lädt nur die Konfiguration neu, ohne den Prozess zu beenden; das unterstützen aber nicht alle Dienste. nginx etwa kann reload, viele kleinere Dienste nur restart.

Muss ich die Endung .service mit angeben?

Nein. systemctl restart nginx und systemctl restart nginx.service sind gleichwertig — ohne Endung nimmt systemd automatisch .service an. Die Endung brauchst du nur für andere Unit-Typen wie .timer oder .socket.

Wofür steht systemctl --user?

Damit verwaltest du Units, die unter deinem Benutzer laufen statt als System-Dienst — ohne Root-Rechte. Praktisch für Dinge wie Podman-Container oder Syncthing im Benutzerkontext.

Passende Tools

Passende Guides