GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überprüfen Sie alle laufenden Dienste in Linux

Bei Verwendung einer beliebigen Linux-Distribution werden einige Prozesse und Dienste parallel ausgeführt. Einige können auch ohne das Wissen der Benutzer im Hintergrund ausgeführt werden. Das Ausführen unnötiger Dienste kann einen Großteil der Systemressourcen verbrauchen oder auch ein Sicherheitsproblem darstellen, wenn keine Maßnahmen in Betracht gezogen werden.

Daher müssen Sie alle laufenden Dienste auf Ihrem System kennen. In diesem Artikel sehen wir uns alle Möglichkeiten an, wie Sie laufende Dienste auf Ihrem Linux-Rechner auflisten können.

Wie man laufende Dienste unter Linux überprüft

Lassen Sie uns zunächst ein gutes Verständnis der Linux-Dienste erlangen. Wenn ein Dienst eine Initialisierung hat – Skript , dann hat es drei Status:

  • beginnen
  • Stopp
  • neu starten

Alle, die mit dem – Dienst ausgeführt werden Befehl. Zum Beispiel, um den network-manager neu zu starten führen Sie den folgenden Befehl aus:

sudo service network-manager restart

Der Dienstbefehl verweist auf jeden Dienst mithilfe des in /etc/init.d gespeicherten Init-Skripts 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. Beispielsweise ist der Apache-Webserver-Dienst httpd auf CentOS und Apache2 auf Ubuntu.

System V(SysV) | Emporkömmling | Systemd

Viele Linux-Distributionen fallen unter die folgenden Init-Systeme:

  • System V, das das anfängliche Init-System war.
  • Neuling
  • 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.d/sshd verwenden starten, um einen Dienst zu starten oder zu stoppen; dann verwenden Sie auf einem System V-System.

Init-System neu starten

Es ist ein ereignisbasiertes Init-System, das als Ersatz für den /sbin/init-Daemon diente. Das Upstart-Init-System wurde verwendet, um das Starten und Stoppen von Diensten während des Bootens und Herunterfahrens zu verwalten und sie zu überwachen, während das System läuft. Upstart wurde ursprünglich für die Ubuntu-Linux-Distribution entwickelt, um das alte System V zu ersetzen, das in anderen älteren Distributionen verwendet wurde.

Systemd

Es ist das neue Init-System, zu dem die meisten Linux-Distributionen wechseln. Es wurde entwickelt, um den Startvorgang zu beschleunigen, Abhängigkeiten zu verwalten und vieles mehr. Falls Sie systemctl-Neustart von sshd verwenden start, um einen Dienst zu starten oder zu stoppen, dann verwenden Sie auf einem Systemd-System.

Prüfen Sie alle laufenden Dienste in einem System V(SysV)-Init-System

Schauen wir uns einige der Terminal-Befehle an, die Sie verwenden können, um alle laufenden Dienste in einem SysV-Init-System aufzulisten.

service --status-all

Der obige Befehl listet alle laufenden Dienste in Ihrem System auf. Falls viele Dienste ausgeführt werden, können Sie zusätzliche Parameter – more verwenden und weniger um die Dienste in einer organisierten und übersichtlichen Ansicht aufzulisten.

service --status-all | less
service --status-all | more

Führen Sie den folgenden Befehl aus, um nur Dienste aufzulisten, die derzeit auf dem System ausgeführt werden:

service --status-all | grep running

Um den Status eines bestimmten Dienstes anzuzeigen, führen Sie den folgenden Befehl aus:

service --status-all | grep [service_name]
e.g
service --status-all | grep httpd

Alternativ können Sie den folgenden Befehl ausführen, um den Status eines bestimmten Dienstes anzuzeigen.

service httpd status

Führen Sie den folgenden Befehl aus, um alle beim Booten aktivierten Dienste aufzulisten:

chkconfig --list

Überprüfen Sie alle laufenden Dienste in einem Upstart-Init-System

Führen Sie den folgenden Befehl aus, um alle Dienste aufzulisten, die auf einem Linux-System ausgeführt werden, auf dem das Upstartinit-System ausgeführt wird:

initctl list

Überprüfen Sie alle laufenden Dienste in einem Systemd-Init-System

Um alle laufenden Dienste auf einem Linux-System aufzulisten, auf dem das Systemd-Init-System ausgeführt wird, 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-Einheitennamen an.
  • LOAD – Diese Spalte zeigt an, ob die aktuelle Unit in den Speicher geladen ist oder nicht.
  • ACTIVE – Diese Spalte zeigt an, ob die Einheit in Gebrauch (aktiv) ist oder nicht.
  • SUB – Beschreibt den Betriebszustand einer bestimmten Einheit.
  • BESCHREIBUNG – Gibt eine detaillierte Beschreibung einer bestimmten Einheit.

Sie können auch laufende Dienste basierend auf ihrem Typ auflisten, indem Sie den folgenden Befehl verwenden:

systemctl list-units --type service

Sie können Dienste auch basierend auf ihrem aktuellen Status auflisten. Es ist der Ausgabe des vorherigen Befehls relativ ähnlich, aber etwas einfacher.

systemctl list-unit-files --type service

Führen Sie den folgenden Befehl aus, um den Status eines bestimmten Dienstes aufzulisten:

systemctl status [service_name]
e.g
systemctl status acpid.path

Führen Sie den folgenden Befehl aus, um nur Dienste aufzulisten, die derzeit auf dem System ausgeführt werden:

systemctl | grep running

Führen Sie den folgenden Befehl aus, um alle beim Booten aktivierten Dienste aufzulisten:

systemctl list-unit-files | grep enabled

Mit dem Befehl systemd-cgtop können Sie auch die obersten Kontrollgruppen und ihre Nutzung der Systemressourcen wie E/A, CPU, Tasks und Arbeitsspeicher anzeigen.

systemd-cgtop

Wir können auch pstree verwenden um alle laufenden Dienste im System aufzulisten. Pstree erfasst diese Informationen von Systemd Systemausgabe.

pstree

Der pstree kann auch mit System V int verwendet werden. Es erfasst die Ausgabe des SysVinit-Systems.

pstree

Sie können auch chkservice verwenden Dienstprogramm zum Überprüfen aller laufenden Dienste in einem Systemd-System. Es ist nicht vorinstalliert. Sie können jedoch mit dem folgenden Befehl über das Terminal installieren:

sudo apt-get install chkservice

Um chkservice zu starten, Führen Sie den folgenden Befehl aus. Beachten Sie, dass Sie Superuser-Privilegien benötigen.

sudo chkservice

Um alle Funktionen dieses fantastischen Tools anzuzeigen, drücken Sie auf [? ] Schlüssel. Es öffnet das Hilfemenü.

Schlussfolgerung

Dies sind einige der Befehle und Dienstprogramme, mit denen Sie alle laufenden Dienste auf Ihrem Linux-System überprüfen können. Wenn Sie einen Befehl oder ein Tool haben, das wir in diesem Beitrag nicht besprochen haben, können Sie es unseren Lesern gerne im Kommentarbereich mitteilen.


Linux
  1. So überprüfen Sie, ob ein Linux-System 32-Bit oder 64-Bit ist

  2. Linux:Wie bekomme ich alle Anmeldeprotokolle vom System?

  3. Wie überprüfe ich, ob das Linux-System auf einem physischen System oder einer virtuellen Maschine ausgeführt wird?

  4. So überprüfen Sie die MySQL-Version unter Linux

  5. Überprüfen Sie die laufenden Dienste unter Linux

So überprüfen Sie die Passwortkomplexität in Linux

So überprüfen Sie den Runlevel unter Linux

So listen Sie Dienste unter Linux auf

So verwenden Sie den fd-Befehl auf einem Linux-System

So überprüfen Sie alle offenen Ports in Ihrem Linux-System

So überprüfen Sie die PHP-Version unter Linux