Skip to main content

Beispielverwendungen des Linux-Befehls ps

Anonim

Das ps Befehl erzeugt eine Liste der aktuell laufenden Prozesse auf Ihrem Computer. In diesem Handbuch erfahren Sie, wie Sie den Befehl ps am häufigsten verwenden, damit Sie ihn optimal nutzen können.

Das ps Der Befehl wird häufig in Verbindung mit der verwendet grep Befehl und die Mehr oder Weniger Befehle.

Diese zusätzlichen Befehle helfen, die Ausgabe von zu filtern und zu paginieren ps das kann oft recht lang sein.

So verwenden Sie den Befehl ps

Für sich allein die ps Befehl zeigt die laufenden Prozesse durch den Benutzer, der sie in einem Terminalfenster ausführt. Anrufen ps Geben Sie einfach Folgendes ein:

ps

Die Ausgabe zeigt Datenzeilen mit folgenden Informationen:

  • PID
  • TTY
  • Zeit
  • Befehl

Die PID ist die Prozess-ID, die den laufenden Prozess identifiziert. Der TTY ist der Terminaltyp.

Für sich allein die ps Befehl ist ziemlich begrenzt. Sie möchten wahrscheinlich alle laufenden Prozesse sehen. Um alle laufenden Prozesse anzuzeigen, verwenden Sie einen der folgenden Befehle:

ps -A

ps -e

Führen Sie den folgenden Befehl aus, um alle Prozesse außer Sitzungsleitern anzuzeigen:

ps -d

Was ist also ein Sessionleiter? Wenn ein Prozess andere Prozesse startet, ist er der Sitzungsleiter aller anderen Prozesse. So stellen Sie sich den Prozess vor EIN startet den Prozess B und verarbeiten C . Verarbeiten B startet den Prozess D und verarbeiten C startet den Prozess E . Wenn Sie alle Prozesse mit Ausnahme der Sitzungsleiter auflisten, werden Sie sehen B, C, D und E aber nicht EIN .

Sie können jede Auswahl, die Sie ausgewählt haben, mit der Option negieren -N Schalter. Wenn Sie beispielsweise sehen möchten, dass nur die Sitzungsleiter den folgenden Befehl ausführen:

ps -d -N

Offensichtlich die -N ist nicht sehr sinnvoll, wenn mit dem -e oder -EIN schaltet, da es gar nichts zeigt.

Wenn Sie nur die mit diesem Terminal verbundenen Prozesse anzeigen möchten, führen Sie den folgenden Befehl aus:

PST

Wenn Sie alle laufenden Prozesse mit dem folgenden Befehl anzeigen möchten:

ps r

Auswählen bestimmter Prozesse mit dem Befehl ps

Sie können bestimmte Prozesse mit dem zurückgeben ps Befehl und es gibt verschiedene Möglichkeiten, die Auswahlkriterien zu ändern.

Wenn Sie beispielsweise die Prozess-ID kennen, können Sie einfach den folgenden Befehl verwenden:

ps -p

Sie können mehrere Prozesse auswählen, indem Sie wie folgt mehrere Prozess-IDs angeben:

ps -p "1234 9778"

Sie können sie auch mithilfe einer durch Kommas getrennten Liste angeben:

ps -p 1234,9778

Es besteht die Möglichkeit, dass Sie die Prozess-ID nicht kennen und es einfacher ist, mit dem Befehl zu suchen. Verwenden Sie dazu den folgenden Befehl:

ps -C

Um beispielsweise festzustellen, ob Chrome ausgeführt wird, können Sie den folgenden Befehl verwenden:

ps -C Chrom

Sie werden überrascht sein, dass dies für jede geöffnete Registerkarte einen Prozess zurückgibt.

Andere Möglichkeiten zum Filtern der Ergebnisse gibt es nach Gruppen. Sie können nach Gruppenname mit folgender Syntax suchen:

ps -G ps --Gruppe

Um beispielsweise herauszufinden, welche Prozesse von der Kontengruppe ausgeführt werden, geben Sie Folgendes ein:

ps -G "Konten" ps --Gruppe "Konten"

Sie können auch nach der Gruppennummer anstelle des Gruppennamens suchen, indem Sie ein kleines "g" wie folgt verwenden:

ps -g ps - group

Wenn Sie nach einer Liste von Sitzungs-IDs suchen möchten, verwenden Sie den folgenden Befehl:

ps -s

Alternativ können Sie auch nach Terminaltyp suchen.

PST

Wenn Sie alle von einem bestimmten Benutzer ausgeführten Prozesse suchen möchten, führen Sie den folgenden Befehl aus:

ps U

Zum Beispiel, um alle durchgeführten Prozesse zu finden gary Führen Sie folgendes aus:

ps U "gary"

Beachten Sie, dass dies die Person zeigt, deren Anmeldeinformationen zur Ausführung des Befehls verwendet werden. Zum Beispiel, wenn Sie als eingestuft werden gary und führen Sie den obigen Befehl aus, um alle von Ihnen ausgeführten Befehle anzuzeigen.

Wenn Sie sich als anmelden Tom und verwenden Sudo Um einen Befehl auszuführen, wird der obige Befehl angezeigt Toms Befehl als ausgeführt von gary und nicht Tom .

Um die Liste auf die wirklich durchgeführten Prozesse zu beschränken gary Verwenden Sie den folgenden Befehl:

ps -U "gary"

Formatieren der ps-Befehlsausgabe

Standardmäßig erhalten Sie die gleichen vier Spalten, wenn Sie die verwenden ps Befehl:

  • PID
  • TTY
  • Zeit
  • Befehl

Sie können eine vollständige Liste erhalten, indem Sie den folgenden Befehl ausführen:

ps -ef

Das -ewie Sie wissen, zeigt alle Prozesse und die f oder -f zeigt vollständige Details.

Die zurückgegebenen Spalten lauten wie folgt:

  • Benutzeridentifikation
  • PID
  • PPID
  • C
  • Ruhezeit
  • TTY
  • Zeit
  • Befehl

Die Benutzer-ID ist die Person, die den Befehl ausgeführt hat. Die PID ist die Prozess-ID des Befehls. Die PPID ist der übergeordnete Prozess, der den Befehl gestartet hat.

Das C Die Spalte zeigt die Anzahl der Kinder, die ein Prozess hat. Der Zeitpunkt ist die Startzeit für den Prozess. Das TTY ist das Terminal, die Zeit ist die Zeit, die es für die Ausführung dauerte, und der Befehl ist der Befehl, der ausgeführt wurde.

Sie können noch mehr Spalten erhalten, indem Sie den folgenden Befehl verwenden:

ps -eF

Dies gibt die folgenden Spalten zurück:

  • UID
  • PID
  • PPID
  • C
  • SZ
  • RSS
  • PSR
  • Ruhezeit
  • TTY
  • Zeit
  • Befehl

Die zusätzlichen Spalten sind SZ, RSS und PSR.SZ ist die Größe des Prozesses, RSS die tatsächliche Speichergröße und PSR ist der Prozessor, dem der Befehl zugewiesen ist.

Sie können ein benutzerdefiniertes Format mit dem folgenden Schalter angeben:

ps -e --format

Die verfügbaren Formate sind wie folgt:

  • %Zentralprozessor: CPU-Auslastung
  • % mem: Prozentuale Speicherauslastung
  • args: Der Befehl mit all seinen Argumenten
  • c: Prozessorauslastung
  • cmd: Der Befehl
  • comm: Nur der Befehlsname
  • cp: CPU auslastung
  • cputime: CPU-Zeit
  • egid: Effektive Gruppenkennung
  • egroup: Effektive Gruppe
  • e Zeit: Verstrichene Zeit
  • euid: Effektive Benutzer-ID
  • euser: Effektiver Benutzer
  • gid: Gruppen-ID
  • Gruppe: Gruppenname
  • pgid: Prozessgruppen-ID
  • pgrp: Prozessgruppe
  • ppid: ID des übergeordneten Prozesses
  • Start: Zeit, zu der der Prozess gestartet wurde
  • sz: Größe in physischen Seiten
  • die Anzahl: Threads, die dem Prozess gehören
  • Zeit: Kumulative Zeit
  • uid: Benutzeridentifikation
  • dein Name: Nutzername

Es gibt viele weitere Optionen, aber diese werden am häufigsten verwendet.

Um die Formate zu verwenden, geben Sie Folgendes ein:

ps -e --format = "uid uname cmd time"

Sie können die Elemente nach Ihren Wünschen mischen und zusammenstellen.

Ausgabe sortieren

Verwenden Sie zum Sortieren der Ausgabe die folgende Notation:

ps -ef --sort

Die Auswahlmöglichkeiten für die Sortierung lauten wie folgt:

  • cmd: Ausführbarer Name
  • pcpu: CPU-Auslastung
  • Flaggen: Flaggen
  • pgrp: Prozessgruppen-ID
  • cutime: Kumulative Benutzerzeit
  • cstime: Kumulative Systemzeit
  • utime: Benutzerzeit
  • pid: Prozess ID
  • ppid: ID des übergeordneten Prozesses
  • Größe: Größe
  • uid: Benutzeridentifikation
  • Nutzer: Nutzername

Es stehen wieder mehr Optionen zur Verfügung, dies sind jedoch die gebräuchlichsten.

Ein Beispiel Sortieren Befehl lautet wie folgt:

ps -ef --sort Benutzer, pid

Ps verwenden Mit grep werden immer weniger Befehle ausgeführt

Wie eingangs erwähnt, ist es üblich zu verwenden ps mit dem grep, Weniger und Mehr Befehle.

Das Weniger und Mehr Mit Befehlen können Sie die Ergebnisse seitenweise durchgehen. Um diese Befehle zu verwenden, leiten Sie einfach die Ausgabe von ab grep wie folgt:

ps -ef | mehr ps -ef | Weniger

Das grep Mit dem Befehl können Sie die Ergebnisse aus dem filtern ps Befehl.

Zum Beispiel:

ps -ef | grep chrom

Zusammenfassung

Das ps Der Befehl wird üblicherweise für die Auflistung von Prozessen innerhalb von Linux verwendet. Sie können auch die oben Befehl, um laufende Prozesse auf andere Weise anzuzeigen.