Bei Verwendung einer Linux-Distribution werden einige Prozesse und Dienste parallel ausgeführt. Einige können auch ohne Wissen der Benutzer im Hintergrund ausgeführt werden. Unnötige Dienste können einen Großteil der Systemressourcen verbrauchen oder auch ein Sicherheitsproblem darstellen, wenn Maßnahmen nicht berücksichtigt werden.
Daher müssen Sie alle laufenden Dienste auf Ihrem System kennen., In diesem Artikel untersuchen wir alle Möglichkeiten, wie Sie laufende Dienste auf Ihrem Linux-Computer auflisten können.
So überprüfen Sie laufende Dienste unter Linux
Lassen Sie uns zunächst ein gutes Verständnis für Linux-Dienste erlangen. Wenn ein Dienst über ein Initialisierungsskript verfügt, enthält er drei Status:
- start
- stop
- restart
Alle werden mit dem Befehl – service ausgeführt., Um beispielsweise den Netzwerkmanager-Dienst neu zu starten, führen Sie den folgenden Befehl aus:
sudo service network-manager restart
Der Dienstbefehl verweist mit dem in /etc/init gespeicherten init-Skript auf jeden Dienst.d für Ubuntu und jede andere Debian – basierte Distribution und etc / rc.d/init.d für RedHat-basierte Linux-Distributionen. Einige Dienstnamen variieren von einer Distribution zur anderen. Der Apache-Webserver-Dienst ist beispielsweise httpd unter CentOS und Apache2 unter Ubuntu.,
System V (SysV) | Upstart | Systemd
Viele Linux-Distributionen fallen unter die folgenden Init-Systeme:
- System V, das das ursprüngliche Init-System war.
- Upstart
- systemd, das zum Zeitpunkt des Schreibens dieses Artikels das neueste Init-System ist.
System V (SysV)
System V oder allgemein bekannt als SysV ist ein altes Init-System, das von älteren Linux-Distributionen verwendet wird und auf das ursprüngliche Unix zurückgeht. SysV verwaltet den Startvorgang mithilfe des Shell-Skripts in /etc/init*. Falls Sie /etc/init verwenden.,d / sshd Start, um einen Dienst zu starten oder zu stoppen; dann verwenden Sie auf einem System V-System.
Init-System starten
Es ist ein ereignisbasiertes Init-System, das als Ersatz für den /sbin/init-Daemon diente. Upstart init System wurde verwendet, um das Starten und Stoppen von Diensten beim Booten, Herunterfahren und Überwachen während der Ausführung des Systems zu verwalten. Upstart wurde ursprünglich für Ubuntu Linux Distro entwickelt, um das alte System V zu ersetzen, das in anderen älteren Distributionen verwendet wird.
Systemd
Es ist das neue Init-System, zu dem die meisten Linux-Distributionen wechseln., Es wurde entwickelt, um den Boot-Prozess zu beschleunigen, Abhängigkeiten zu verwalten und vieles mehr. Wenn Sie systemctl restart sshd start verwenden, um einen Dienst zu starten oder zu stoppen, verwenden Sie ihn auf einem Systemd-System.
Überprüfen Sie alle laufenden Dienste in einem System V(SysV) Init-System
Schauen wir uns einige der Terminalbefehle an, mit denen Sie alle laufenden Dienste in einem SysV Init-System auflisten können.,
service --status-all
Der obige Befehl listet alle laufenden Dienste in Ihrem System auf. Falls die ausgeführten Dienste viele sind, können Sie zusätzliche Parameter verwenden – mehr und weniger, um die Dienste in einer organisierten und übersichtlichen Ansicht aufzulisten.,99d8fa6″>
service --status-all | more
Um nur Dienste aufzulisten, die derzeit auf dem System ausgeführt werden, führen Sie den folgenden Befehl aus:
service --status-all | grep running
Um den Status eines bestimmten Dienstes anzuzeigen, führen Sie den folgenden Befehl aus:
service --status-all | grep e.gservice --status-all | grep httpd
Alternativ können Sie den folgenden Befehl ausführen, um den Status eines bestimmten Dienstes anzuzeigen.,em
Um alle Dienste aufzulisten, die auf einem Linux-System mit Upstartinit-System ausgeführt werden, führen Sie den folgenden Befehl aus:
initctl list
Überprüfen Sie alle laufenden Dienste in einem Systemd-Init-System
Um alle laufenden Dienste auf einem Linux-System mit Systemd-Init-System aufzulisten, führen Sie den folgenden Befehl aus:
systemctl
Aus dem obigen Befehl sehen wir, dass die Daten in fünf Spalten angezeigt werden, nämlich UNIT, LOAD, ACTIVE, SUB und DESCRIPTION., Schauen wir uns an, wofür jede Spalte steht:
- UNIT-Zeigt den entsprechenden Systemd-Gerätenamen an.
- LOAD-Diese Spalte zeigt an, ob die aktuelle Einheit in den Speicher geladen ist oder nicht.
- ACTIVE-Diese Spalte gibt an, ob das Gerät verwendet wird (aktiv) oder nicht.
- UNTER Beschreibt den laufenden Zustand einer bestimmten Einheit.
- BESCHREIBUNG-Gibt eine detaillierte Beschreibung einer bestimmten Einheit.,
Sie können auch laufende Dienste basierend auf ihrem Typ mit dem folgenden Befehl auflisten:
systemctl list-units --type service
Sie können listen Sie auch Dienste basierend auf ihrem aktuellen Status auf. Es ist relativ ähnlich wie die Ausgabe des vorherigen Befehls, aber ein wenig einfacher.,
systemctl list-unit-files --type service
To list the status of a particular service, execute the command below:
systemctl status e.gsystemctl status acpid.path
Um alle im Boot aktivierten Dienste aufzulisten, führen Sie den folgenden Befehl aus:
systemctl list-unit-files | grep enabled
Mit dem Befehl systemd-cgtop können Sie auch die obersten Kontrollgruppen und deren Systemressourcennutzung wie E/A, CPU, Aufgaben und Speicher anzeigen.,
systemd-cgtop
Wir können auch pstree verwenden, um alle laufenden Dienste im System aufzulisten. Pstree erfasst diese Informationen aus der Systemd-Systemausgabe.
pstree
Der pstree kann auch mit System V int system verwendet werden. Es erfasst die Ausgabe vom SysVinit-System.,
pstree
Sie können auch das Dienstprogramm chkservice verwenden, um alle laufenden Dienste in einem Systemd-System zu überprüfen. Es kommt nicht vorinstalliert. Sie können jedoch über das Terminal mit dem folgenden Befehl installieren:
sudo apt-get install chkservice
Um den chkservice zu starten, führen Sie den folgenden Befehl aus. Hinweis: Sie benötigen superuser-Berechtigungen.,
sudo chkservice
To see all the features that come with this fantastic tool, press the key. It opens the help menu.