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

Wesentliche Beispiele des ps-Befehls in Linux

Was ist der ps-Befehl unter Linux?

Der Befehl ps in Linux wird verwendet, um Informationen zu laufenden Prozessen auf dem System anzuzeigen. Sie können Informationen wie die Prozess-ID (PID) für die Prozesse erhalten, die Sie oder ein anderer Benutzer auf demselben Linux-System ausführen.

Der Befehl ps ist ein umfangreiches Werkzeug für sich und verfügt über mehr als 80 Befehlsoptionen. Sie können seine Stärke und Komplexität verstehen. Aus diesem Grund werde ich Ihnen einige der gebräuchlichsten und nützlichsten Beispiele für den Befehl ps unter Linux zeigen.

Grundlegende Verwendung des ps-Befehls in Linux

Wenn Sie den Befehl ps ohne Optionen unter Linux verwenden, werden die laufenden Prozesse in der aktuellen Shell angezeigt:

ps

Dies ist die Ausgabe. Ich habe den Gedit-Befehl im Hintergrund gesendet, deshalb werden drei Prozesse angezeigt, ansonsten sehen Sie normalerweise nur ps und bash.

  PID TTY          TIME CMD
  503 pts/0    00:00:00 gedit
 2053 pts/0    00:00:00 ps
31585 pts/0    00:00:00 bash

Hier drin:

  • PID ist die eindeutige Prozess-ID des Prozesses
  • TTY ist der Terminaltyp, an dem der Benutzer angemeldet ist. pts bedeutet Pseudoterminal
  • TIME gibt an, wie lange der Prozess läuft
  • CMD ist der Befehl, den Sie ausführen, um den Prozess zu starten

Das liefert jetzt nicht wirklich nützliche Informationen. Sehen wir uns einige bessere Beispiele für den Befehl ps an:

1. Sehen Sie alle Ihre laufenden Prozesse

Wenn Sie alle von Ihnen ausgeführten Prozesse sehen möchten, können Sie den Befehl ps mit der Option x wie folgt verwenden:

ps -x

Die Option x zeigt alle Prozesse an, auch wenn sie nicht mit dem aktuellen tty (Terminaltyp) verknüpft sind oder wenn sie kein steuerndes Terminal haben (wie Daemons).

Die – Before-Option x ist optional, aber die allgemeine Linux-Konvention ist die Verwendung von – Before-Optionen, daher rate ich Ihnen, sie weiterhin zu befolgen. Es wird dir nicht wehtun.

So sieht die Ausgabe aus. Ich habe die Ausgabe abgeschnitten, weil sie Hunderte von Zeilen hatte:

  PID TTY      STAT   TIME COMMAND
  503 pts/0    Sl     0:00 gedit
 2245 ?        S      0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
 3039 ?        Ss     0:00 /lib/systemd/systemd --user
 3040 ?        S      0:00 (sd-pam)
 3054 ?        SLl    0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
 3059 tty2     Ssl+   0:00 /usr/lib/gdm3/gdm-x-session --run-script env 

Der STAT in der obigen Ausgabe bedeutet Process State Codes. Eine detaillierte Tabelle finden Sie in der Manpage des Befehls ps.

Aber Sie werden selten sehen, dass der Befehl ps nur mit Option x verwendet wird. Es wird normalerweise auf diese Weise von der Option u begleitet:

ps -ux

Mit Option u erhalten Sie detaillierte Informationen zu jedem Prozess:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
abhishek   503  0.0  0.4 681580 37516 pts/0    Sl   18:09   0:00 gedit
abhishek  2245  0.0  0.0  11300  1496 ?        S    18:37   0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
abhishek  3039  0.0  0.0  77344  3508 ?        Ss   10:37   0:00 /lib/systemd/systemd --user
abhishek  3040  0.0  0.0 114632   360 ?        S    10:37   0:00 (sd-pam)
abhishek  3054  0.0  0.1 517104 11512 ?        SLl  10:37   0:01 /usr/bin/gnome-keyring-daemon --daemonize --login

Wie Sie sehen können, erhalten Sie jetzt den Benutzernamen und den CPU-Verbrauch und die Speicherauslastung jedes Prozesses. RSS zeigt, wie viel Speicher der Prozess derzeit im RAM hat, während VSZ angibt, wie viel virtueller Speicher der Prozess insgesamt hat.

2. Alle laufenden Prozesse mit dem Befehl ps aux anzeigen

Sie werden wahrscheinlich ps -aux sehen oder ps aux ständig in Linux-Tutorials und -Dokumentationen.

Mit der hinzugefügten Option -a können Sie die laufenden Prozesse aller Benutzer auf dem Linux-System sehen.

ps -aux

Die Befehlsausgabe ist die gleiche wie bei ps -ux, aber jetzt haben Sie auch Prozesse von anderen Benutzern. Dank der Option -u können Sie erkennen, welcher Prozess zu welchem ​​Benutzer gehört.

3. Alle laufenden Prozesse mit dem Befehl ps -ef unter Linux anzeigen

Abgesehen von ps -aux können Sie auch alle laufenden Prozesse mit dem Befehl -e auflisten. Die übliche Praxis besteht darin, sie mit Option f zu kombinieren, um eine vollständige Liste der Befehle zu erhalten, die zum Ausführen der Prozesse verwendet werden.

ps -ef

Beachten Sie, dass – bevor e wichtig ist, sonst ein anderes Ergebnis angezeigt wird. Ich sagte doch, ps ist ein verkorkster, komplizierter Befehl.

Sie können auch die H-Option kombinieren, um alle Prozesse in einer Thread-Ansicht mit untergeordneten Prozessen unter ihren Eltern anzuzeigen:

ps -efH

4. Alle laufenden Prozesse eines bestimmten Benutzers anzeigen

Um Informationen über alle Prozesse zu erhalten, die von einem bestimmten Benutzer ausgeführt werden, können Sie die Option -U mit dem Benutzernamen verwenden:

ps -U user_name

Zum Beispiel kann ich alle Prozesse sehen, die vom Root-Benutzer wie folgt ausgeführt werden:

ps -U root
  PID TTY          TIME CMD
    1 ?        00:00:41 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 rcu_gp
    4 ?        00:00:00 rcu_par_gp
    8 ?        00:00:00 mm_percpu_wq
    9 ?        00:00:03 ksoftirqd/0
   10 ?        00:01:22 rcu_sched

5. Alle von einer Gruppe ausgeführten Prozesse anzeigen

Sie können laufende Prozesse auch nach Gruppe anstatt nach Benutzer kategorisieren, indem Sie den Gruppennamen oder die Gruppen-ID angeben:

ps -G group_name_or_id

Sie können mit Option f kombinieren, um die vollständige Liste zu erhalten.

6. Erhalten Sie alle Vorkommen und PID eines Programms

Eine der wichtigsten Verwendungszwecke des Befehls ps besteht darin, die Prozess-ID (PID) eines laufenden Programms abzurufen. Wenn Sie ein sich schlecht benehmendes Programm beenden möchten, suchen Sie normalerweise nach allen Vorkommen des Programms, erhalten ihre PIDs und verwenden den Befehl kill, um den Prozess zu beenden.

ps -C program__name

Zum Beispiel, wenn ich alle laufenden Instanzen des apt-Paketmanagers finden muss:

ps -C apt
  PID TTY          TIME CMD
11425 pts/1    00:00:00 apt

Sie können auch den Befehl grep verwenden, um ein ähnliches Ergebnis zu erhalten.

ps aux | grep program_name

7. Prozessinformationen über eine PID erhalten

In Ordnung! Sie haben eine PID, wissen aber nicht, zu welchem ​​Prozess sie gehört. Sie können den Befehl ps verwenden, um die Prozessinformationen von seiner PID auf diese Weise zu finden:

ps -pN

Sie können mehr als eine PID verwenden, indem Sie sie durch Komma trennen:

ps -pN1,N2,N3

Was noch?

Wie ich bereits sagte, ist ps ein komplizierter und umfangreicher Befehl. Dies waren einige der häufigsten Beispiele für ps-Befehle, die Sie die meiste Zeit benötigen werden. Wenn Sie mehr wollen, können Sie jederzeit auf die Manpage verweisen.

Wenn Sie ein anderes nützliches Beispiel für den Befehl ps haben, das Sie regelmäßig verwenden, warum teilen Sie es nicht im Kommentarbereich mit uns anderen?


Linux
  1. Meistern Sie den Linux-ls-Befehl

  2. sa-Befehlsbeispiele in Linux

  3. ac-Befehlsbeispiele in Linux

  4. df-Befehlsbeispiele in Linux

  5. du-Befehlsbeispiele in Linux

wc Linux-Befehl mit Beispielen

10 Beispiele für iftop-Befehle unter Linux

Was ist der Linux-Überwachungsbefehl + Beispiele

Die 50 praktischen Beispiele des SED-Befehls in Linux

10 Nützliche Beispiele für den Sort-Befehl in Linux

id-Befehlsbeispiele in Linux