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

Ps-Befehl in Linux (Prozesse auflisten)

Unter Linux wird eine laufende Instanz eines Programms Prozess genannt. Wenn Sie auf einem Linux-Rechner arbeiten, müssen Sie gelegentlich herausfinden, welche Prozesse gerade ausgeführt werden.

Es gibt eine Reihe von Befehlen, die Sie verwenden können, um Informationen über die laufenden Prozesse mit ps zu finden , pstree , und top die am häufigsten verwendeten sind.

Dieser Artikel erklärt, wie man ps verwendet Befehl, um die derzeit laufenden Prozesse aufzulisten und Informationen über diese Prozesse anzuzeigen.

Verwendung von ps Befehl #

Die allgemeine Syntax für ps Befehl lautet wie folgt:

ps [OPTIONS]

Aus historischen und Kompatibilitätsgründen ist die Datei ps Der Befehl akzeptiert mehrere verschiedene Arten von Optionen:

  • UNIX-Stiloptionen, denen ein einzelner Bindestrich vorangestellt ist.
  • BSD-Stiloptionen, ohne Bindestrich verwendet.
  • GNU Long-Optionen, denen zwei Bindestriche vorangestellt sind.

Verschiedene Optionstypen können gemischt werden, aber in bestimmten Fällen können Konflikte auftreten, daher ist es am besten, bei einem Optionstyp zu bleiben.

BSD- und UNIX-Optionen können gruppiert werden.

In seiner einfachsten Form, wenn es ohne Option verwendet wird, ps gibt vier Spalten mit Informationen für mindestens zwei Prozesse aus, die in der aktuellen Shell laufen, die Shell selbst und die Prozesse, die in der Shell laufen, als der Befehl aufgerufen wurde.

ps

Die Ausgabe enthält Informationen über die Shell (bash ) und der in dieser Shell laufende Prozess (ps , der von Ihnen eingegebene Befehl):

  PID TTY          TIME CMD
 1809 pts/0    00:00:00 bash
 2043 pts/0    00:00:00 ps

Die vier Spalten sind mit PID beschriftet , TTY , TIME , und CMD .

  • PID - Die Prozess-ID. Normalerweise beim Ausführen von ps Befehl ist die wichtigste Information, nach der der Benutzer sucht, die Prozess-PID. Wenn Sie die PID kennen, können Sie einen fehlerhaften Prozess beenden.
  • TTY - Der Name des steuernden Terminals für den Prozess.
  • TIME - Die kumulative CPU-Zeit des Prozesses, angezeigt in Minuten und Sekunden.
  • CMD - Der Name des Befehls, der zum Starten des Prozesses verwendet wurde.

Die obige Ausgabe ist nicht sehr nützlich, da sie nicht viele Informationen enthält. Die wahre Kraft des ps Der Befehl kommt beim Start mit zusätzlichen Optionen.

Das ps Der Befehl akzeptiert eine große Anzahl von Optionen, die verwendet werden können, um eine bestimmte Gruppe von Prozessen und verschiedene Informationen über den Prozess anzuzeigen, aber im täglichen Gebrauch werden nur eine Handvoll benötigt.

ps wird am häufigsten mit der folgenden Kombination von Optionen verwendet:

BSD-Formular :

ps aux
  • Der a Option teilt ps mit um die Prozesse aller Benutzer anzuzeigen. Nur die Prozesse, die keinem Terminal zugeordnet sind, und Prozesse von Gruppenleitern werden nicht angezeigt.
  • u steht für ein anwenderorientiertes Format, das detaillierte Informationen zu den Prozessen bereitstellt.
  • Das x Option weist ps an um die Prozesse ohne steuerndes Terminal aufzulisten. Das sind hauptsächlich Prozesse, die beim Booten gestartet werden und im Hintergrund laufen.

Der Befehl zeigt Informationen in elf Spalten mit der Bezeichnung USER an , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME , und CMD .

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.8  77616  8604 ?        Ss   19:47   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    19:47   0:00 [kthreadd]
...

PID haben wir bereits erklärt , TTY , TIME und CMD Etiketten. Hier ist eine Erklärung anderer Labels:

  • USER - Der Benutzer, der den Prozess ausführt.
  • %CPU - Die CPU-Auslastung des Prozesses.
  • %MEM - Der Prozentsatz der Größe des residenten Satzes des Prozesses zum physischen Speicher auf der Maschine.
  • VSZ - Virtuelle Speichergröße des Prozesses in KiB.
  • RSS - Die Größe des physischen Speichers, den der Prozess verwendet.
  • STAT - Der Prozesszustandscode, z. B. Z (Zombie), S (Schlafen) und R (läuft).
  • START - Die Zeit, zu der der Befehl gestartet wurde.

Das f Option teilt ps mit um eine Baumansicht von Eltern-zu-Kind-Prozessen anzuzeigen:

ps auxf

Das ps Mit dem Befehl können Sie auch die Ausgabe sortieren. Um die Ausgabe beispielsweise nach der Speicherauslastung zu sortieren, würden Sie Folgendes verwenden:

ps aux --sort=-%mem

UNIX-Formular :

ps -ef
  • Das -e Option weist ps an um alle Prozesse anzuzeigen.
  • Das -f steht eine vollformatige Auflistung, die detaillierte Informationen zu den Prozessen gibt.

Der Befehl zeigt Informationen in acht Spalten mit der Bezeichnung UID an , PID , PPID , C , STIME , TIME , und CMD .

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:47 ?        00:00:01 /sbin/init
root         2     0  0 19:47 ?        00:00:00 [kthreadd]
...

Die nicht bereits erläuterten Bezeichnungen haben folgende Bedeutung:

  • UID - Gleich wie USER , der Benutzer, der den Prozess ausführt.
  • PPID - Die ID des übergeordneten Prozesses.
  • C - Gleich wie %CPU , die CPU-Auslastung des Prozesses.
  • STIME - Gleich wie START , die Zeit, zu der der Befehl gestartet wurde.

Um nur die Prozesse anzuzeigen, die unter einem bestimmten Benutzer ausgeführt werden, geben Sie den folgenden Befehl ein, wobei linuxize ist der Name des Benutzers:

ps -f -U linuxize -u linuxize

Benutzerdefiniertes Format #

Das o Mit der Option können Sie angeben, welche Spalten angezeigt werden, wenn ps ausgeführt wird Befehl.

Zum Beispiel, um nur Informationen über die PID zu drucken und COMMAND , würden Sie einen der folgenden Befehle ausführen:

ps -efo pid,comm
ps auxo pid,comm

Mit ps Mit anderen Befehlen #

ps kann in Kombination mit anderen Befehlen durch Rohrleitungen verwendet werden.

Wenn Sie die Ausgabe von ps anzeigen möchten Befehl, eine Seite nach der anderen an less weiterleiten Befehl:

ps -ef | less

Die Ausgabe von ps Befehl kann mit grep gefiltert werden . Um beispielsweise nur den Prozess anzuzeigen, der dem Root-Benutzer gehört, würden Sie Folgendes ausführen:

ps -ef | grep root

Schlussfolgerung #

Das ps Der Befehl ist einer der am häufigsten verwendeten Befehle bei der Behebung von Problemen auf Linux-Systemen. Es hat viele Optionen, aber normalerweise verwenden die meisten Benutzer entweder ps aux oder ps -ef um Informationen über laufende Prozesse zu sammeln.

Weitere Informationen zu ps , geben Sie man ps ein in Ihrem Terminal.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. 30 Übungen zu Linux-Prozessen für Systemadministratoren

  2. Linux-ps-Befehl

  3. Linux-ls-Befehl - Dateien auflisten

  4. kill-Befehlsbeispiele in Linux

  5. nohup-Befehlsoptionen in Linux

Linux-PS-Befehl mit Beispielen

SS-Befehl unter Linux

Prozessüberwachung unter Linux

Wie man einen Prozess unter Linux beendet

So listen Sie Festplatten unter Linux auf

lsattr-Befehlsbeispiele unter Linux