0Pricing
Linux Server Deployment & SSH Mastery · Lektion

Systemdienste mit systemd verwalten

Steuern Sie mit systemd die lang laufenden Programme eines Linux-Servers: Starten, stoppen, aktivieren und überprüfen Sie Dienste, lesen Sie deren Logs mit journalctl und verstehen Sie, wie Units in die Prozessverwaltung eingebunden sind.

Systemdienste mit systemd verwalten ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.

Dienste und gewöhnliche Prozesse

Sie haben einzelne Prozesse und geplante Aufgaben verwaltet. Die Programme, die einen Server ausmachen — Webserver, Datenbanken und SSH — laufen jedoch als Dienste: Hintergrund-Daemons, die beim Systemstart gestartet und bei einem Fehler neu gestartet werden sollten.

Unter modernem Linux werden Dienste von systemd, dem System- und Dienste-Manager, verwaltet.

Was systemd verwaltet

systemd organisiert alles in Units. Der häufigste Typ ist die .service-Unit, die beschreibt, wie ein Daemon ausgeführt wird.

Der Befehl systemctl ist Ihre wichtigste Schnittstelle zum Untersuchen und Steuern dieser Units.

systemctl --version

Dienststatus prüfen

systemctl status zeigt, ob ein Dienst ausgeführt wird, die Prozess-ID seines Hauptprozesses, aktuelle Protokollzeilen und ob er beim Systemstart aktiviert ist.

Dies ist normalerweise der erste Befehl, den Sie bei der Fehlersuche an einem Dienst ausführen.

systemctl status nginx

Dienste starten und stoppen

Sie steuern den Laufzeitstatus eines Dienstes mit start, stop und restart. Diese Befehle wirken sofort, ändern jedoch nicht das Verhalten beim Systemstart.

Verwenden Sie reload, wenn ein Dienst das erneute Einlesen seiner Konfiguration unterstützt, ohne Verbindungen zu trennen.

sudo systemctl start nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl stop nginx

Dienste beim Systemstart aktivieren

enable sorgt dafür, dass ein Dienst beim Start des Servers automatisch gestartet wird; disable entfernt ihn aus dem Systemstart. Dies ist unabhängig davon, ob er gerade ausgeführt wird.

Das praktische Flag --now aktiviert und startet den Dienst in einem Schritt.

sudo systemctl enable nginx
sudo systemctl enable --now nginx
sudo systemctl disable nginx

Dienste auflisten

Um zu sehen, was installiert ist und ausgeführt wird, listen Sie die Unit-Dateien oder aktiven Units auf.

  • list-units --type=service — derzeit geladene Dienste
  • list-unit-files --type=service — alle installierten Dienste und ihr Aktivierungsstatus
systemctl list-units --type=service --state=running
systemctl list-unit-files --type=service

Protokolle mit journalctl lesen

systemd erfasst die Ausgabe von Diensten im Journal. Fragen Sie es mit journalctl ab.

  • -u nginx — nur dieser Dienst
  • -f — Live-Ausgabe verfolgen
  • -e — zum Ende springen
sudo journalctl -u nginx -f
sudo journalctl -u ssh --since '1 hour ago'

Aufbau einer Unit-Datei

Ein Dienst wird durch eine Unit-Datei definiert, die sich normalerweise in /etc/systemd/system/ oder /lib/systemd/system/ befindet. Sie enthält drei wichtige Abschnitte: [Unit], [Service] und [Install].

Die Zeile ExecStart teilt systemd mit, welcher Befehl ausgeführt werden soll.

[Unit]
Description=My App
After=network.target

[Service]
ExecStart=/usr/bin/myapp --port 8080
Restart=on-failure

[Install]
WantedBy=multi-user.target

Eigenen Dienst erstellen

Um Ihr eigenes Programm als Dienst auszuführen, legen Sie eine Unit-Datei in /etc/systemd/system/ ab, laden Sie systemd neu, damit die neue Datei erkannt wird, und aktivieren und starten Sie den Dienst anschließend.

daemon-reload ist nach jeder Änderung an einer Unit-Datei erforderlich.

sudo nano /etc/systemd/system/myapp.service
sudo systemctl daemon-reload
sudo systemctl enable --now myapp

Bei Fehlern automatisch neu starten

Eine der besten Funktionen von systemd ist die automatische Wiederherstellung. Die Direktive Restart= weist systemd an, einen abgestürzten Dienst erneut zu starten.

  • Restart=on-failure — nur nach einem Exit mit einem Wert ungleich null
  • Restart=always — bei jedem Beenden
  • RestartSec=5 — vor dem nächsten Versuch warten
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5

Bewährte Vorgehensweisen

Verwalten Sie Dienste sicher:

  • Unterscheiden Sie Laufzeit (start) und Systemstart (enable)
  • Führen Sie nach dem Bearbeiten von Unit-Dateien daemon-reload aus
  • Verwenden Sie zur Fehlersuche journalctl -u statt verstreuter Protokolldateien
  • Fügen Sie für robuste eigene Anwendungen Restart=on-failure hinzu

Schnelltest

Testen Sie Ihr Wissen über systemd.

Zusammenfassung

Sie können Serverdienste nun mit systemd verwalten:

  • status, start, stop, restart, reload
  • enable/disable für das Verhalten beim Systemstart
  • journalctl -u für Dienstprotokolle
  • Eigene .service-Unit-Dateien mit Restart= für höhere Ausfallsicherheit

Damit ergänzen Sie Ihre Kenntnisse zur Prozess- und Aufgabenverwaltung um langfristig laufende Daemons.

Häufig gestellte Fragen

Ist die Lektion „Systemdienste mit systemd verwalten“ kostenlos?

Ja — der vollständige Text von „Systemdienste mit systemd verwalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Systemdienste mit systemd verwalten“?

Steuern Sie mit systemd die lang laufenden Programme eines Linux-Servers: Starten, stoppen, aktivieren und überprüfen Sie Dienste, lesen Sie deren Logs mit journalctl und verstehen Sie, wie Units in… Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?

Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Systemdienste mit systemd verwalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?

Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Benutzer und Gruppen verwalten
  2. Systemprozesse überwachen
  3. Geplante Aufgaben mit Cron
  4. Systemdienste mit systemd verwalten
← Zurück zu Linux Server Deployment & SSH Mastery