• Allgemein
  • Linux-Dienste anzeigen: Eine Schritt-für-Schritt-Anleitung

Linux-Dienste anzeigen: Eine Schritt-für-Schritt-Anleitung

Welche Befehle werden verwendet, um Linux-Dienste anzuzeigen?

Die folgenden Befehle können verwendet werden, um Linux-Dienste anzuzeigen:

systemctl

systemctl ist ein Befehl zum Verwalten von Systemdiensten. Er kann verwendet werden, um Dienste zu starten, zu stoppen, neu zu starten und ihren Status anzuzeigen.

Um eine Liste aller laufenden Dienste anzuzeigen, verwende:

systemctl list-unit-files

Um den Status eines bestimmten Dienstes anzuzeigen, verwende:

systemctl status <Dienstname>

service

Der Befehl service wird verwendet, um Dienste zu verwalten. Er kann verwendet werden, um Dienste zu starten, zu stoppen, neu zu starten und ihren Status anzuzeigen.

Um eine Liste aller laufenden Dienste anzuzeigen, verwende:

service --status-all

Um den Status eines bestimmten Dienstes anzuzeigen, verwende:

service <Dienstname> status

ps

Der Befehl ps wird verwendet, um laufende Prozesse anzuzeigen. Er kann verwendet werden, um Dienste anzuzeigen, die gerade ausgeführt werden.

Um eine Liste aller laufenden Dienste anzuzeigen, verwende:

ps -A | grep systemd

top

Der Befehl top wird verwendet, um laufende Prozesse anzuzeigen. Er kann verwendet werden, um Dienste anzuzeigen, die gerade ausgeführt werden.

Um eine Liste aller laufenden Dienste anzuzeigen, verwende:

top -c

Wie zeige ich alle laufenden Dienste an?

Um alle derzeit auf deinem Linux-System ausgeführten Dienste anzuzeigen, kannst du folgende Befehle verwenden:

systemctl list-units

Dieser Befehl listet alle Systemdienste auf, sowohl laufende als auch gestoppte. Er gibt folgende Informationen aus:

  • Dienstname
  • Anzeigename
  • Status (aktiv, inaktiv, gestoppt)
  • Geladener Zustand (geladen, nicht geladen, maskiert)

Beispiel:

$ systemctl list-units
UNIT                            LOAD   ACTIVE SUB     DESCRIPTION                                
accuweather-watcher.service    loaded active  running AccuWeather Watcher                               
accounts-daemon.service         loaded active  running Accounts Service                                
AccountsService.service        loaded active  running Accounts Service                                
alsa-state.service             loaded active  running ALSA state management service

service –status-all

Dieser Befehl gibt den Status aller Dienste aus, die in /etc/init.d definiert sind. Er zeigt an, ob jeder Dienst läuft oder gestoppt ist.

Beispiel:

$ service --status-all
[ + ] acpid
[ - ] anacron
[ + ] atd
[ - ] auditd
[ + ] avahi-daemon

ps aux | grep systemd

Dieser Befehl listet alle Prozesse auf, die von systemd gestartet wurden, einschließlich laufender Dienste. Er gibt folgende Informationen aus:

  • Prozess-ID (PID)
  • Benutzer, der den Prozess gestartet hat
  • Ausgeführter Befehl
  • Status des Prozesses

Beispiel:

$ ps aux | grep systemd
systemd                              1 root     Ss      0:00 /lib/systemd/systemd
systemd-journal                    6 root     S<      0:00 /usr/lib/systemd/systemd-journald
systemd-udevd                       7 root     S<      0:00 /lib/systemd/systemd-udevd
systemd-tmpfiles                    8 root     S<      0:00 /lib/systemd/systemd-tmpfiles
systemd-resolved                    9 root     S<      0:00 /lib/systemd/systemd-resolved

Wie zeige ich den Status eines bestimmten Dienstes an?

Um den Status eines bestimmten Dienstes anzuzeigen, verwendest du den folgenden Befehl:

systemctl status DIENSTNAME

Ersetze dabei DIENSTNAME durch den Namen des Dienstes, den du überprüfen möchtest.

Der Ausgabe des Befehls enthält Informationen zum Status des Dienstes, einschließlich:

  • Active: Der aktuelle Status des Dienstes (z. B. active, inactive, failed).
  • State: Der Zustand des Dienstes (z. B. running, stopped, restarting).
  • Main PID: Die Prozess-ID des Hauptprozesses des Dienstes.
  • CGroup: Die Control Group, zu der der Dienst gehört.
  • Tasks: Die Anzahl der Aufgaben, die der Dienst ausführt.
  • Age: Die Zeit seit dem letzten Start des Dienstes.
  • Unit File State: Der Status der Unit-Datei des Dienstes (z. B. enabled, disabled).

Troubleshooting

Wenn du beim Anzeigen des Status eines Dienstes auf Probleme stößt, kannst du folgende Schritte zur Fehlerbehebung ausführen:

  • Überprüfe, ob der Dienstname korrekt ist.
  • Vergewissere dich, dass der Dienst läuft.
  • Überprüfe, ob du über die erforderlichen Berechtigungen verfügst.
  • Konsultiere die Dokumentation deines Linux-Distribution oder Sysadmins, um Hilfe zu erhalten.

Wie zeige ich ausführliche Informationen zu einem Dienst an?

Neben dem Status kannst du auch weitere Details über einen bestimmten Dienst abrufen, darunter:

  • Beschreibung: Eine kurze Erklärung des Dienstes.
  • Pfad: Der Speicherort der ausführbaren Datei des Dienstes.
  • PID: Die Prozess-ID des Dienstes, falls er läuft.
  • Benutzer: Der Benutzer, unter dem der Dienst läuft.
  • Gruppe: Die Gruppe, zu der der Dienst gehört.
  • Startoptionen: Die Optionen, die beim Starten des Dienstes verwendet werden.

Schritte

Verwende den systemctl-Befehl mit der Option status:

systemctl status <dienstname>

Beispiel: Um detaillierte Informationen über den SSH-Dienst anzuzeigen, führe den folgenden Befehl aus:

systemctl status ssh

Zusätzliche Befehle

  • systemctl cat : Zeigt die Systemd-Einheitsdatei des Dienstes an, die ausführlichere Informationen enthält.
  • sudo service status: Zeigt Informationen über den Dienst unter Verwendung des traditionellen SysV- init-Systems an (verfügbar in älteren Linux-Distributionen).

Tipps

  • Verwende die –no-pager-Option mit systemctl, um die Ausgabe direkt im Terminal anzuzeigen, anstatt sie durch einen Pager zu leiten.
  • Du kannst auch die Option –full verwenden, um noch ausführlichere Informationen anzuzeigen.

Wie zeige ich Dienste an, die beim Systemstart aktiviert werden?

Damit dein System reibungslos läuft, werden bestimmte Dienste beim Startvorgang automatisch aktiviert. Diese Dienste sind für wichtige Funktionen wie Netzwerk- oder Firewall-Verwaltung verantwortlich.

systemctl list-unit-files

Der Befehl systemctl list-unit-files zeigt eine Liste aller Dienste an, die auf deinem System installiert sind. Um nur die Dienste anzuzeigen, die beim Systemstart aktiviert sind, kannst du den folgenden Befehl verwenden:

systemctl list-unit-files --type=service --state=enabled

systemctl list-enabled

Ein weiterer Befehl zum Anzeigen aktivierter Dienste ist systemctl list-enabled. Dieser Befehl gibt eine Liste der Dienste aus, die für die Ausführung beim Systemstart aktiviert sind.

systemctl list-enabled

cat /etc/systemd/system/multi-user.target.wants/*

Du kannst auch die Datei /etc/systemd/system/multi-user.target.wants/ durchsuchen, in der die Symbolic Links zu den aktivierten Diensten aufgelistet sind.

cat /etc/systemd/system/multi-user.target.wants/*

Wie zeige ich Dienste an, die deaktiviert sind?

Möchtest du die Liste der Dienste einsehen, die auf deinem Linux-System deaktiviert sind? Mit den im Folgenden beschriebenen Befehlen kannst du im Handumdrehen auf diese Informationen zugreifen:

Systemd

Wenn du eine moderne Linux-Distribution wie Ubuntu, CentOS oder Fedora verwendest, die systemd als Init-System nutzt, kannst du den folgenden Befehl verwenden:

systemctl list-unit-files --state=inactive

Dieser Befehl listet alle Dienste auf, die auf dem System installiert sind, sich aber derzeit im deaktivierten Zustand befinden.

SysVinit

Verwendest du eine ältere Linux-Distribution, die SysVinit als Init-System nutzt, kannst du den folgenden Befehl verwenden:

chkconfig --list --disable

Dieser Befehl listet alle Dienste auf, die beim Systemstart deaktiviert werden sollen.

Zusätzliche Möglichkeiten

Neben den oben genannten Befehlen kannst du auch den folgenden Befehl verwenden, um Dienste zu filtern und nur die deaktivierten anzuzeigen:

systemctl list-units --state=inactive --no-pager

Dieser Befehl ähnelt dem ersten Befehl, filtert aber die Ausgabe, sodass keine zusätzliche Paginierung erforderlich ist. Du kannst auch die Option --all verwenden, um alle Dienste anzuzeigen, einschließlich derjenigen, die nicht installiert sind:

systemctl list-unit-files --state=inactive --all

Wie filtere ich die angezeigten Dienste?

Um die angezeigten Dienste zu filtern, kannst du die Option --regex des systemctl-Befehls verwenden. Diese Option ermöglicht es dir, nach Diensten zu suchen, deren Name oder Beschreibung mit einem angegebenen regulären Ausdruck übereinstimmt.

Syntax:

systemctl list-units --regex "FILTER"

Beispiele:

  • Um alle Dienste anzuzeigen, deren Name "httpd" enthält:
systemctl list-units --regex "httpd"
  • Um alle Dienste anzuzeigen, deren Beschreibung "Webserver" enthält:
systemctl list-units --regex ".*Webserver.*"
  • Um alle Dienste anzuzeigen, deren Name mit "a" beginnt und mit "d" endet:
systemctl list-units --regex "^a.*d$"

Du kannst auch mehrere reguläre Ausdrücke kombinieren, um komplexere Filter zu erstellen. Verwende dazu das "|" (Oder)- oder "&" (Und)-Zeichen, um die Bedingungen zu verknüpfen.

Beispiel:

Um alle Dienste anzuzeigen, deren Name "httpd" enthält oder deren Beschreibung "Datenbank" enthält:

systemctl list-units --regex "httpd|.*Datenbank.*"

So zeigen Sie Dienste unter verschiedenen Linux-Distributionen an

Die Befehle zum Anzeigen von Diensten können je nach verwendeter Linux-Distribution variieren. Hier sind die häufigsten Befehle für gängige Distributionen:

Ubuntu und Debian

  • systemctl list-unit-files
  • systemctl list-units

Red Hat Enterprise Linux (RHEL) und CentOS

  • systemctl list-unit-files
  • systemctl list-units

SUSE Enterprise Linux (SLES)

  • systemctl list-unit-files
  • systemctl list-units

Arch Linux

  • systemctl list-unit-files
  • systemctl list-units

Gentoo

  • systemctl list-unit-files
  • systemctl list-units

Hinweis: Unter Gentoo ist für den Zugriff auf den systemctl-Befehl die Installation des systemd-Pakets erforderlich.

Zusätzlich zu diesen universellen Befehlen bieten einige Distributionen möglicherweise eigene Befehle zum Verwalten von Diensten an. Beispielsweise bietet Ubuntu den Befehl service an, mit dem du Dienste nach ihrem Namen auflisten kannst.

Neben den Befehlen zur Auflistung von Diensten verfügen viele Distributionen auch über Tools mit grafischer Benutzeroberfläche (GUI) zum Verwalten von Diensten. Unter Ubuntu kannst du beispielsweise das Dienstprogramm "Diensteverwaltung" verwenden, um Dienste zu starten, zu stoppen und zu konfigurieren.

Troubleshooting: Probleme bei der Anzeige von Diensten lösen

Kein Zugriff auf den Dienstbefehl

Wenn du die Dienstinformationsbefehle nicht ausführen kannst, überprüfe Folgendes:

  • Berechtigungen: Stelle sicher, dass du über die erforderlichen Berechtigungen zum Anzeigen von Diensten verfügst. Verwende dafür den Befehl sudo, z. B.:
sudo systemctl list-unit-files
  • Kompatibilität: Vergewissere dich, dass der Dienstbefehl für deine Linux-Distribution kompatibel ist. Beispielsweise verwendet Ubuntu den Befehl systemctl, während andere Distributionen möglicherweise service oder init verwenden.

Fehlende Dienste

Wenn bestimmte Dienste nicht angezeigt werden, prüfe Folgendes:

  • Aktivierter Status: Einige Dienste sind möglicherweise nicht aktiviert und können daher nicht angezeigt werden. Aktiviere sie mit dem Befehl systemctl enable, z. B.:
sudo systemctl enable cups
  • Ladezustand: Dienste, die nicht geladen sind, werden nicht angezeigt. Lade sie mit dem Befehl systemctl load, z. B.:
sudo systemctl load cups

Fehlermeldungen

Wenn beim Anzeigen von Diensten Fehlermeldungen auftreten, versuche Folgendes:

  • Syntaxfehler: Überprüfe die Syntax deiner Befehle sorgfältig auf Tippfehler oder fehlende Optionen.
  • Unbekannter Dienst: Stelle sicher, dass der angegebene Dienstname korrekt ist. Du kannst die Liste der verfügbaren Dienste mit dem Befehl systemctl list-unit-files abrufen.
  • Systemprobleme: Systemprobleme können die Anzeige von Diensten beeinträchtigen. Überprüfe die Systemprotokolle auf Fehlermeldungen und versuche, das Problem zu beheben.

Andere Ressourcen

Wenn du weiterhin Probleme bei der Anzeige von Diensten hast, kannst du zusätzliche Hilfestellung in folgenden Ressourcen finden: