Android

Ps Befehl in Linux (Liste Prozesse)

Process Management Commands (fg, bg, top, ps, kill, nice, renice, df, free) Linux Tutorial

Process Management Commands (fg, bg, top, ps, kill, nice, renice, df, free) Linux Tutorial

Inhaltsverzeichnis:

Anonim

Unter Linux wird eine ausgeführte Instanz eines Programms als Prozess bezeichnet. Gelegentlich müssen Sie bei der Arbeit auf einem Linux-Computer möglicherweise herausfinden, welche Prozesse derzeit ausgeführt werden.

Es gibt eine Reihe von Befehlen, mit denen Sie Informationen zu den ausgeführten Prozessen finden können, wobei ps , pstree und top die am häufigsten verwendeten sind.

In diesem Artikel wird erläutert, wie Sie mit dem Befehl ps die derzeit ausgeführten Prozesse auflisten und Informationen zu diesen Prozessen anzeigen.

Verwendung des ps Befehls

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

ps

Aus historischen und Kompatibilitätsgründen akzeptiert der Befehl ps verschiedene Arten von Optionen:

  • UNIX-Stiloptionen, denen ein einzelner Gedankenstrich vorangestellt ist. BSD-Stiloptionen, die ohne einen Gedankenstrich verwendet werden. GNU-lange Optionen, denen zwei Gedankenstriche vorangestellt sind.

Verschiedene Optionstypen können gemischt werden, aber in bestimmten Fällen können Konflikte auftreten. Daher ist es am besten, sich an einen Optionstyp zu halten.

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

In der einfachsten Form gibt ps bei Verwendung ohne Option vier Informationsspalten für mindestens zwei Prozesse aus, die in der aktuellen Shell ausgeführt werden, die Shell selbst und die Prozesse, die in der Shell ausgeführt wurden, als der Befehl aufgerufen wurde.

ps

Die Ausgabe enthält Informationen über die Shell ( bash ) und den in dieser Shell ausgeführten 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 , TTY , TIME und CMD beschriftet.

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

Die Ausgabe oben ist nicht sehr nützlich, da sie nicht viele Informationen enthält. Die wahre ps Befehls ps wird beim Start mit zusätzlichen Optionen erreicht.

Der Befehl ps akzeptiert eine Vielzahl von Optionen, mit denen eine bestimmte Gruppe von Prozessen und unterschiedliche Informationen zum Prozess angezeigt werden können. Für die tägliche Verwendung sind jedoch nur einige wenige Optionen erforderlich.

ps wird am häufigsten mit der folgenden Optionskombination verwendet:

BSD-Formular:

ps aux

  • Die Option a weist ps an, die Prozesse aller Benutzer anzuzeigen. Nur die Prozesse, die keinem Terminal zugeordnet sind, und die Prozesse der Gruppenleiter werden nicht angezeigt. u steht für ein benutzerorientiertes Format, das detaillierte Informationen zu den Prozessen bereitstellt. Die Option x weist ps an, die Prozesse ohne steuerndes Terminal aufzulisten. Dies sind hauptsächlich Prozesse, die beim Booten gestartet werden und im Hintergrund ausgeführt werden.

Der Befehl zeigt Informationen in elf Spalten mit den Bezeichnungen USER , 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…

Die Bezeichnungen PID , TTY , TIME und CMD wir bereits erläutert. Hier ist eine Erklärung anderer Labels:

  • USER - Der Benutzer, der den Prozess USER . %CPU - Die CPU-Auslastung des Prozesses. %MEM - Der Prozentsatz der Größe des residenten Satzes des Prozesses im physischen Speicher des Computers. VSZ - Größe des virtuellen Speichers des Prozesses in KiB. RSS - Die Größe des physischen Speichers, den der Prozess verwendet. STAT - Der Prozessstatuscode, z. B. Z (Zombie), S (Sleeping) und R (Running). START - Die Uhrzeit, zu der der Befehl gestartet wurde.

Die Option f weist ps an, eine Strukturansicht von übergeordneten zu untergeordneten Prozessen anzuzeigen:

ps auxf

Mit dem Befehl ps können Sie auch die Ausgabe sortieren. Um die Ausgabe beispielsweise nach der Speichernutzung zu sortieren, verwenden Sie Folgendes:

ps aux --sort=-%mem

UNIX-Formular:

ps -ef

  • Die Option -e weist ps an, alle Prozesse anzuzeigen. -f steht für eine vollständige Liste, die detaillierte Informationen zu den Prozessen enthält.

Der Befehl zeigt Informationen in acht Spalten mit den Bezeichnungen UID , 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…

Die Bezeichnungen, die noch nicht erklärt wurden, haben folgende Bedeutung:

  • UID - Entspricht USER , dem Benutzer, der den Prozess USER . PPID - Die ID des übergeordneten Prozesses. C - Wie %CPU , die Prozess-CPU-Auslastung. STIME - Wie START , der Zeitpunkt, zu dem der Befehl gestartet wurde.

linuxize den folgenden Befehl ein, um nur die Prozesse anzuzeigen, die als bestimmter Benutzer ausgeführt werden, wobei linuxize der Name des Benutzers ist:

ps -f -U linuxize -u linuxize

Benutzerdefiniertes Format

Mit der Option o können Sie angeben, welche Spalten beim Ausführen des Befehls ps angezeigt werden.

Wenn Sie beispielsweise nur Informationen zu PID und COMMAND drucken COMMAND , führen Sie einen der folgenden Befehle aus:

ps -efo pid, comm

ps auxo pid, comm

ps mit anderen Befehlen verwenden

ps kann in Kombination mit anderen Befehlen über Piping verwendet werden.

ps -ef | less

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

ps -ef | grep root

Fazit

Der Befehl ps ist einer der am häufigsten verwendeten Befehle zur Behebung von Problemen auf Linux-Systemen. Es gibt viele Optionen, aber normalerweise verwenden die meisten Benutzer entweder ps aux oder ps -ef , um Informationen zu laufenden Prozessen zu erhalten.

Für weitere Informationen zu ps man ps in Ihr Terminal ein.

ps terminal