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

So listen Sie laufende Prozesse in Linux auf

Einführung

Jede Anwendung, die Sie verwenden, oder ein Befehl, den Sie auf Ihrem Linux-System ausführen, erstellt einen Prozess oder eine Aufgabe. Als Systemadministrator müssen Sie Prozesse verwalten, um eine optimale Systemleistung sicherzustellen.

In diesem Tutorial behandeln wir verschiedene Linux-Befehle, die Sie verwenden können, um aktuell laufende Prozesse aufzulisten und zu verwalten.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird
  • Ein Konto mit Root- oder Sudo-Berechtigungen
  • Zugriff auf das Terminalfenster/die Befehlszeile

Prozesse unter Linux

Prozesse in Linux jedes Mal starten, wenn Sie eine Anwendung starten oder einen Befehl ausführen. Während jeder Befehl einen Prozess erstellt, erstellen und führen Anwendungen mehrere Prozesse für verschiedene Aufgaben aus.

Standardmäßig beginnt jeder neue Prozess als Vordergrund Prozess. Das bedeutet, dass er abgeschlossen sein muss, bevor ein neuer Prozess beginnen kann. Ausführen von Prozessen im Hintergrund ermöglicht es Ihnen, gleichzeitig andere Aufgaben auszuführen.

Laufende Prozesse unter Linux auflisten

Um aktuell laufende Prozesse aufzulisten, verwenden Sie ps , htop , htop , und htop Linux-Befehle. Sie können auch ps kombinieren Befehl mit dem pgrep Befehl, einzelne Prozesse zu identifizieren.

Laufende Prozesse unter Linux mit dem Befehl ps auflisten

Das ps Der Linux-Befehl erstellt einen Snapshot der aktuell ausgeführten Prozesse. Im Gegensatz zu den anderen Befehlen in dieser Liste ist ps stellt die Ausgabe als statische Liste dar, die nicht in Echtzeit aktualisiert wird.

Das ps Befehl verwendet die folgende Syntax:

ps [options]

Häufig verwendetes ps Zu den Befehlsoptionen gehören:

  • a :Alle ruinierenden Prozesse für alle Benutzer auflisten.
  • -A, -e :Alle Prozesse auf dem System auflisten.
  • -a :Listet alle Prozesse auf, mit Ausnahme von Sitzungsleitern (Instanzen, bei denen die Prozess-ID mit der Sitzungs-ID identisch ist) und Prozessen, die keinem Terminal zugeordnet sind.
  • -d :Alle Prozesse außer Sitzungsleitern auflisten.
  • --deselect, -N :Listet alle Prozesse auf, außer denen, die eine benutzerdefinierte Bedingung erfüllen.
  • f :Zeigt die Prozesshierarchie als ASCII-Art.
  • an
  • -j :Zeigt die Ausgabe im Auftragsformat an.
  • T :Alle mit diesem Terminal verbundenen Prozesse auflisten.
  • r :Nur laufende Prozesse auflisten.
  • u :Erweitern Sie die Ausgabe um zusätzliche Informationen, z. B. CPU- und Speicherauslastung.
  • -u :Definieren Sie einen Benutzer, dessen Prozesse Sie auflisten möchten.
  • x :Prozesse ohne TTY einbeziehen.

Ausführen von ps Befehl ohne Optionen erzeugt eine Ausgabe ähnlich der:

Die Standardausgabe umfasst die folgenden Kategorien:

  • PID :Prozessidentifikationsnummer.
  • TTY :Der Typ des Terminals, auf dem der Prozess läuft.
  • ZEIT :Gesamtbetrag der CPU-Auslastung.
  • CMD :Der Name des Befehls, der den Prozess gestartet hat.

Verwenden Sie die Kombination von a , u , und x options führt zu einer detaillierteren Ausgabe:

ps aux

Zu den neuen Kategorien der erweiterten Ausgabe gehören:

  • BENUTZER :Der Name des Benutzers, der den Prozess ausführt.
  • %CPU :Der Prozentsatz der CPU-Auslastung.
  • %MEM :Der Prozentsatz der Speichernutzung.
  • VSZ :Vom Prozess verwendeter virtueller Gesamtspeicher in Kilobyte.
  • RSS :Größe des residenten Satzes, der Anteil des Arbeitsspeichers, der vom Prozess belegt wird.
  • STATUS :Der aktuelle Prozessstatus.
  • STARTEN :Die Zeit, zu der der Prozess gestartet wurde.

Um die laufenden Prozesse in einer hierarchischen Ansicht anzuzeigen, geben Sie ein:

ps -axjf

Filtern Sie die Liste der Prozesse nach Benutzer mit:

ps -U [real user ID or name] -u [effective user ID or name] u

Zum Beispiel das Anzeigen einer Liste von Prozessen, die vom Benutzer namens phoenixnap gestartet wurden :

ps -U phoenixnap -u phoenixnap u

Auflisten von laufenden Prozessen in Linux mit dem top-Befehl

Die top Der Befehl zeigt die Liste der laufenden Prozesse in der Reihenfolge abnehmender CPU-Auslastung an. Das bedeutet, dass die ressourcenintensivsten Prozesse ganz oben in der Liste erscheinen:

Die Ausgabe von htop Befehlsaktualisierungen in Echtzeit mit der Standardaktualisierungsrate von drei Sekunden. Die top Die Befehlsausgabe enthält die folgenden Kategorien:

  • PID :Prozessidentifikationsnummer.
  • BENUTZER :Der Name des Benutzers, der den Prozess ausführt.
  • PR :Die Planungspriorität für den Prozess.
  • NI :Der nette Wert des Prozesses, wobei negative Zahlen eine höhere Priorität anzeigen.
  • VIRT :Die vom Prozess verwendete Menge an virtuellem Speicher.
  • RES :Die residente (physische) Speichermenge, die vom Prozess verwendet wird.
  • SHR :Der gesamte gemeinsam genutzte Speicher, der vom Prozess verwendet wird.
  • S :Der Status des Prozesses - R (läuft) oder S (schläft).
  • %CPU :Der Prozentsatz der CPU-Auslastung.
  • %MEM :Der Prozentsatz der Speichernutzung.
  • ZEIT+ :Gesamtmenge der CPU-Nutzung.
  • BEFEHL :Der Name des Befehls, der den Prozess gestartet hat.

Während die top Befehl ausgeführt wird, verwenden Sie die folgenden Optionen, um damit zu interagieren oder das Ausgabeformat zu ändern:

  • c :Zeigt den absoluten Prozesspfad an.
  • d :Ändert die Aktualisierungsrate der Ausgabe auf einen benutzerdefinierten Wert (in Sekunden).
  • h :Zeigt das Hilfefenster an.
  • k :Beenden Sie einen Prozess, indem Sie die PID angeben.
  • M :Liste nach Speicherverbrauch sortieren.
  • N :Liste nach PID sortieren.
  • r :Ändern Sie den netten Wert (Priorität) eines Prozesses, indem Sie die PID angeben.
  • z :Ändern Sie die Ausgabefarbe, um laufende Prozesse hervorzuheben.
  • q :Befehlsschnittstelle verlassen.

Laufende Prozesse unter Linux mit dem htop-Befehl auflisten

Das htop Befehl bietet dieselbe Ausgabe wie htop Befehl, aber in einer leichter verständlichen und benutzerfreundlichen Weise.

Da die meisten Linux-Distributionen diesen Befehl nicht enthalten, installieren Sie ihn mit:

sudo apt install htop

Verwenden von htop Befehl liefert die folgende Ausgabe:

Verwenden Sie die folgenden Tasten, um mit htop zu interagieren Befehl:

  • Richtungstasten :Die Prozessliste vertikal und horizontal scrollen.
  • F1 :Hilfefenster öffnen.
  • F2 :Öffnen Sie das htop-Befehlssetup.
  • F3 :Suchen Sie nach einem Prozess, indem Sie den Namen eingeben.
  • F4 :Prozessliste nach Name filtern.
  • F5 :Umschalten zwischen der Anzeige der Prozesshierarchie als sortierte Liste oder als Baum.
  • F6 :Prozesse nach Spalten sortieren.
  • F7 :Verringert den netten Wert (Erhöhung der Priorität) eines Prozesses.
  • F8 :Erhöhen Sie den netten Wert (verringern Sie die Priorität) eines Prozesses.
  • F9 :Den ausgewählten Prozess beenden.
  • F10 :Verlassen Sie die Befehlsschnittstelle.

Laufende Prozesse unter Linux mit dem atop-Befehl auflisten

Das htop Befehl bietet einen umfassenderen Überblick über die laufenden Prozesse im Vergleich zu htop Befehl. Beginnen Sie mit der Installation von atop Befehl mit:

sudo apt install atop

Das htop Der Befehl erstellt eine Ausgabe ähnlich der folgenden:

Der Kopfbereich der Befehlsausgabe bietet einen Überblick über Systemressourcen, einschließlich prozess- und leistungsbezogener Statistiken sowie Speicher-, Festplatten- und Netzwerknutzung.

Der untere Abschnitt listet derzeit laufende Prozesse auf und enthält die folgenden Kategorien:

  • PID :Prozessidentifikationsnummer.
  • SYSCPU :Die CPU-Auslastung durch den Prozess während der Systemverarbeitung.
  • USRCPU :Die CPU-Auslastung durch den Prozess während der Ausführung im Benutzermodus.
  • VGROW :Die Menge an virtuellem Speicher, die der Prozess seit der letzten Ausgabeaktualisierung belegt hat.
  • RGROW :Die Menge an physischem Speicher, die der Prozess seit der letzten Ausgabeaktualisierung belegt hat.
  • RUID :Die echte Benutzer-ID des Benutzers, der den Prozess gestartet hat.
  • ST :Der aktuelle Prozessstatus.
  • EXC :Der Beendigungscode nach Beendigung des Prozesses.
  • THR :Die Anzahl der Threads, die der Prozess verwendet.
  • S :Der aktuelle Status des primären Threads des Prozesses.
  • CPUNR :Die Anzahl der vom Prozess verwendeten CPUs.
  • Prozessor :Der vom Prozess verwendete CPU-Prozentsatz.
  • CMD :Der Name des Befehls, der den Prozess gestartet hat.

Mit dem htop Befehl mit den folgenden Optionen ändert das Ausgabeformat:

  • -a :Nur aktive Prozesse anzeigen.
  • -c :Kommandozeile pro Prozess anzeigen.
  • -d :Festplatteninformationen anzeigen.
  • -l :Gesamtwerte als Durchschnitt pro Sekunde anzeigen.
  • -m :Speicherinformationen anzeigen.
  • -n :Netzwerkinformationen anzeigen.
  • -s :Informationen zur Prozessplanung anzeigen.
  • -v :Zeigt die ausführliche Ausgabe.
  • -y :Einzelne Threads anzeigen.

Verwenden Sie die folgenden Flags, um mit atop zu interagieren Befehl:

  • ein :Nach aktivsten Ressourcen sortieren.
  • c :Nach CPU-Verbrauch sortieren.
  • d :Nach Festplattenaktivität sortieren.
  • m :Nach Speichernutzung sortieren.
  • n :Nach Netzwerkaktivität sortieren.

Prozess-IDs mit dem pgrep-Befehl finden

Verwenden von pgrep Mit dem Befehl können Sie nach einem bestimmten Prozess suchen. Der pgrep Befehl verwendet die folgende Syntax:

pgrep [process name]

Verwenden Sie beispielsweise den folgenden Befehl, um nach Firefox zu suchen Prozess:

pgrep firefox

Die Befehlsausgabe listet die PID des Prozesses auf:

Verwendung dieser PID mit ps Mit dem Befehl können Sie weitere Informationen zum Prozess abrufen. In diesem Beispiel liefert die Verwendung der PID 1439 Informationen zum Firefox Prozess:

ps -e | grep 1439

Linux
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. So legen Sie Limits für Benutzerprozesse unter Linux fest

  3. Wie beendet man einen Prozess, der auf einem bestimmten Port in Linux läuft?

  4. Linux-API zum Auflisten laufender Prozesse?

  5. Wie zeige ich eine Liste der laufenden Prozesse Python an?

So beenden Sie Zombie-Prozesse in Linux

So finden und beenden Sie laufende Prozesse in Linux

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

Prozessüberwachung unter Linux

Laufende Prozesse

So senden Sie Prozesse unter Linux an den Hintergrund