Verwenden Sie den Befehl PS unter Linux

Verwenden Sie den Befehl PS unter Linux
Der ps Der Befehl wird verwendet, um den Prozessstatus als Snapshot anzuzeigen. Im Gegensatz zu Microsoft Windows, das den Prozessstatus in der Live -Ansicht zeigt. Wenn wir unter Linux eine Live -Sicht auf die Prozesse wünschen, müssen wir den Top -Befehl verwenden. In diesem Tutorial wird erläutert, wie der Befehl PS unter Linux verwendet wird.

Erste Schritte mit dem PS -Befehl in Linux:

Lassen Sie uns zunächst den Befehl ausführen ps ohne Parameter. In diesem Fall zeigt der Befehl ps nur Prozesse an, die vom Root -Benutzer ausgeführt wurden.

$ PS

Das verstehen ps Befehlsausgabe:

Die 4 angezeigten Spalten enthalten die folgenden Informationen:

  • PID: Prozess -ID, zeigt die Prozessidentifikationsnummer an.
  • Tty: Identifiziert das Terminal, aus dem der Prozess ausgeführt wurde.
  • ZEIT: Zeigt die Zeit des Prozessors, die vom Programm besetzt ist.
  • CMD: Zeigt den Befehl an, mit dem der Prozess gestartet wurde.

Wenn Sie alle Benutzerprozesse anzeigen möchten, müssen Sie das Flag hinzufügen -Axt Wie nachfolgend dargestellt:

$ ps -ach

Die Flagge -A Der verwendete im folgende Screenshot zeigt PS an, um alle Prozesse mit Ausnahme von Sitzungsleitern und Prozessen anzuzeigen, die nicht mit Terminals verbunden sind. Die Flagge -X Zeigt Prozesse ohne kontrollierende Klemme und Prozesse mit einem kontrollierenden Terminal an.

Notiz: Ein Sitzungsleiter ist ein Prozess, dessen PID und SID gleich sind.

Die meisten Linux -Benutzer führen aus PS -AXU. Die Flagge -u Zeigt den effektiven Benutzer eines Prozesses an. Ein effektiver Benutzer ist der Benutzer, dessen Dateizugriffsberechtigungen vom Prozess verwendet werden (dieses Thema wird im Tutorial SetUid, SetGid und Sticky Bit erläutert).

Wie Sie im Screenshot unten sehen können, indem Sie das hinzufügen -u Flag neue Spalten werden angezeigt.

$ ps -axu

In den Spalten werden die folgenden Informationen angezeigt:

BENUTZER: Zeigt den effektiven Benutzer an, dessen Berechtigungen verwendet werden, um den Prozess auszuführen.

%ZENTRALPROZESSOR: Diese Spalte zeigt die Berechnung der Zeit an, die durch den Prozess geteilt wird, der durch den Zeitpunkt des Prozesses in der Ausführung ist.

%Mem: Diese Spalte zeigt die RSS (Resident Set -Größe) geteilt durch den gebrauchten Speicher. Diese Spalte ist nicht empfohlen, damit Benutzer den Speichergebrauch überprüfen können, da die verwendete Speichermenge nicht genau ist. Wenn Sie den Speicher verwenden möchten, können Sie den Speicher verwenden, um den Speicherverbrauch pro Prozess unter Linux zu überprüfen.

VSZ: Zeigt den virtuellen Speicher, der vom Prozess verwendet wird.

RSS: Resident Set Größe. Zeigt den Speicher an, der durch einen Vorgang im RAM -Speicher besetzt ist (nicht im Swap).

START: Diese Spalte zeigt, wann der Prozess begann.

ZEIT: CPU -Verwendung von Prozess oder Thread, die jedes Mal inkrementiert werden

BEFEHL: Dies entspricht der zuvor erklärten CMD -Spalte.

Stat: Die Spaltenstatistiken zeigen Codezustände für den Prozess. Mögliche Code -Statistiken, die in PS Man -Seite erläutert werden, sind:

  • D ununterbrochener Schlaf (normalerweise io)
  • ICH Leerlaufkernfaden
  • R Ausführen oder ausführbare Datei (in der Warteschlange ausführen)
  • S Interruptible Schlaf (Warten auf ein Ereignis)
  • T vom Arbeitskontrollsignal gestoppt gestoppt
  • T während der Verfolgung von Debugger angehalten
  • X tot (sollte niemals gesehen werden)
  • Z Verlassen („Zombie“), beendet, aber von seinem Elternteil nicht ernannt, aber nicht ernannt
  • < hohe Priorität (nicht nett für andere Benutzer)
  • N Niedrige Priorität (nett zu anderen Benutzern)
  • L Hat Seiten in den Speicher gesperrt (für Echtzeit- und benutzerdefinierte IO)
  • S Sitzungsleiter
  • l ist multi-thread (mit Clone_Thread, wie es nptl pthreads tun)
  • + ist in der Vordergrundprozessgruppe.

Anzeigen eines bestimmten Benutzerprozesses mit PS:

Wenn Sie nur Prozesse überprüfen möchten, die von einem bestimmten Benutzer (effektiver Benutzer) ausgeführt werden, können Sie verwenden -u Flagge; zuvor ohne zusätzliche Flaggen erklärt, gefolgt vom Benutzernamen, dessen Prozesse Sie auflisten möchten. Dadurch wird der effektive Benutzer angezeigt, dessen Berechtigungen verwendet werden, um den Prozess auszuführen, jedoch nicht der Benutzer, der den Prozess bezeichnet hat (realer Benutzer).

Notiz: Wenn Sie nicht wissen, was effektive und echte Benutzer sind, ist die Erklärung am Ende dieses Abschnitts.

Das folgende Beispiel zeigt Prozesse für den Benutzer LinuxHint Als effektiver Benutzer.

$ ps -u linuxHint

Wenn Sie anstatt effektive Benutzer zu überprüfen, möchten Sie Prozesse überprüfen, die als echte Benutzer ausgeführt werden, verwenden Sie einfach ein Kapital U stattdessen.

$ ps -u linuxHint

Effektive Benutzer gegenüber echten Benutzern:

Die reale Benutzer -ID repräsentiert den Benutzer, der einen Prozess ausführt. Zum Beispiel der Benutzer, der ein Programm im Terminal aufruft. Die effektive Benutzer -ID repräsentiert den Benutzer, dessen Berechtigungen zur Ausführung eines Programms verwendet werden. Dies gilt beispielsweise, wenn ein Benutzer ein Programm mit SetUid ausführt. Gleiches gilt für Gruppen, und wir können effektive und reale Gruppen identifizieren. Wenn Sie dieses Thema nicht verstehen, können Sie das SetUid -SetGid -Tutorial lesen.

Anzeigen eines bestimmten Benutzerprozesses mit PS:

Wenn Sie echte Gruppenprozesse zeigen möchten, ein Kapital -G gefolgt von der Gruppe wird es angezeigt.

$ ps -g root

Wenn Sie effektive Gruppen zeigen möchten, fügen Sie die hinzu -G Flagge gefolgt von der effektiven Gruppe.

$ ps -g root

Prozessprozesse Hierarchie:

Die Flagge -Wald Ermöglicht die Anzeige von Prozessen, die Hierarchie und zugehörige Prozesse angezeigt werden, wie im folgenden Screenshot gezeigt.

$ ps -axu -Forest

Prozesse von tty anzeigen:

Sie können den Befehl PS auch verwenden, um anzuzeigen, welche Prozesse von einem bestimmten Terminal gestartet wurden oder welche Terminalprozesse gehören. Sie können es implementieren, indem Sie die hinzufügen -T Flagge gefolgt von der TTY, die Sie identifizieren möchten, wie im folgenden Beispiel gezeigt.

$ ps -tty11

Zeigen zusätzlicher Informationen zu Prozessen:

Es gibt verschiedene PS -Versionen: UNIX, BSD und GNU -Versionen. Dieses Tutorial ist für die UNIX -Version optimiert. Sie können die BSD -Version mit zusätzlichen Informationen anzeigen, indem Sie die hinzufügen -l Flagge wie im Screenshot unten gezeigt. Es fügt neue Spalten mit zusätzlichen Informationen hinzu.

$ ps -l

Wie Sie sehen können, sind die neuen Spalten UID, PPID, PRI, NI und WCHAN.

UID: Zeigt die ID des Benutzers an, der den Prozess ausgeführt hat.

Ppid: Zeigt den PID -Elternprozess an.

PRI: Zeigt die Prozesspriorität (Kernel)

Ni: Zeigt die Prozesspriorität (Benutzerraum) an

Wchan: Zeigt den Namen der Kernelfunktion, in der die Prozesse schlafen.

Der Befehl ps enthält noch viel mehr, die Sie auf der Mannseite lesen können, oder auf einem nächsten Tutorial -Linux -Hinweis wird auf dem PS -Befehl für erweiterte Benutzer veröffentlicht.

Abschluss:

Der Befehl ps ist ein grundlegender Befehl, den jeder Linux -Benutzer wissen muss, wie man sich anwendet und versteht. Das Lernen, die Ausgabe zu verwenden und zu interpretieren, ist eine echte Möglichkeit, zusätzliches Wissen wie effektive und reale Benutzer und Gruppen einzubeziehen.

Wie in diesem Tutorial gezeigt, kann jede Linux -Benutzerebene leicht erfahren, wie dieser Befehl mit allen verfügbaren Flags und Optionen implementiert werden kann.

Ich hoffe, dieses Tutorial war nützlich. Verfolgen Sie den Hinweis für weitere Linux -Tipps und Tutorials weiterhin Linux -Hinweis.