So zeigen Sie Prozessinformationen auf einem Linux-System mit dem Befehl ps an
In Multiprozessor-Betriebssystemen wie Linux sind Prozesse ein wesentlicher Bestandteil des Systemworkflows. Manchmal müssen Benutzer die laufenden Prozesse auf einem System zu Überwachungszwecken auflisten. In solchen Situationen können Linux-Befehlszeilenprogramme hilfreich sein.
Der Befehl ps ist ein solches Tool, das Informationen zu Prozessen auf einem Linux-System anzeigt. Schauen wir uns den Befehl ps und einige wichtige Anwendungsbeispiele an.
Was ist der ps-Befehl?
Ein Prozess ist die Grundkomponente des Rechnens in einem Linux-Computer. Jedes von Ihnen geöffnete Programm führt einen oder mehrere Prozesse aus, die für die Funktionsweise des Computers verantwortlich sind. Von einer erweiterten Videobearbeitungsanwendung bis zu einem einfachen Dienstprogramm wie dem Befehl mv besteht alles aus Prozessen.
Der Befehl ps, eine Abkürzung für Process Status , ist nützlich, wenn Sie eine Liste aller auf Ihrem System ausgeführten Prozesse abrufen möchten. Dieser Befehl bietet dem Benutzer auch zusätzliche Informationen zu diesen Prozessen.
Verwendung des Befehls ps unter Linux
Die grundlegende Syntax des Befehls ps lautet:
ps [options]
Wenn Sie den Befehl ps ohne Argumente ausführen, wird die folgende Ausgabe ausgegeben:
ps
Die folgenden Informationen sind in der oben genannten Ausgabe enthalten.
- PID : Die Prozess-ID des markierten Prozesses
- TTY : Zeigt den Namen des verwendeten Terminals an
- ZEIT : Die von der CPU dem Prozess zugewiesene Zeit
- CMD : Der Befehl, der für den Start des Prozesses verantwortlich ist
Alle Prozesse auflisten
Verwenden Sie das Flag -A oder -e mit dem Standardbefehl ps, um eine Liste aller Prozesse auf einem Linux-System abzurufen.
ps -A
ps -e
Mit dem Terminal verknüpfte Prozesse anzeigen
Das -T- Flag zeigt die Liste aller Prozesse an, die sich auf das Terminal beziehen.
ps -T
Sie sehen eine Ausgabe, die ungefähr so aussieht.
Prozesse anzeigen, die nicht mit dem Terminal verknüpft sind
Das Flag -a listet Prozesse auf, die nicht mit dem aktuellen Terminal verknüpft sind.
ps -a
Der Bildschirm zeigt eine Ausgabe an.
Negieren Sie die angegebenen Optionen
Sie können auch das Flag -N oder –deselect mit dem Befehl ps verwenden, um die Arbeitsweise eines bestimmten Arguments zu invertieren.
Beispielsweise zeigt die Option -T die dem Terminal zugeordneten Prozesse an. Durch Hinzufügen des Flags -N oder –deselect mit dem Befehl werden die Prozesse angezeigt , die dem aktuellen Terminal nicht zugeordnet sind.
ps -T -N
ps -T --deselect
Benutzerdefinierte Spalten in der Ausgabe anzeigen
Der Standardbefehl ps zeigt die folgenden Spalten an: PID, TTY, TIME und CMD. Sie können diese Spalten jedoch optimieren und stattdessen andere Details anzeigen.
Mit dem Flag -eo können Sie Spalten angeben, die in der Ausgabe angezeigt werden sollen.
ps -eo pid, uname, pcpu, stime, pri, f
Spalten in der Ausgabe umbenennen
Sie können die Spaltenbeschriftungen in der Ausgabe auch umbenennen. Mit dem Flag -o können Sie dies tun.
ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND
Liste der aktuell ausgeführten Prozesse auf
Um eine Liste der Prozesse zu erhalten, die derzeit auf Ihrem System ausgeführt werden, übergeben Sie das Flag -ax mit dem Befehl ps. Das -a steht für Alle .
ps -ax
Prozesse im BSD-Format anzeigen
Das Linux-Format zum Übergeben von Argumenten mit dem Befehl verwendet das Zeichen – (Bindestrich). Andererseits enthält das BSD-Format keine Sonderzeichen mit den Argumentflags.
Beispielsweise zeigt ps -A (Linux-Format) eine Liste aller Prozesse an. Das BSD-Äquivalent dieses Befehls lautet:
ps au
wobei a für Alle steht und u Benutzer bezeichnet.
Vollformatige Auflistung der Prozesse
Um detaillierte Informationen zu den Prozessen zu erhalten, übergeben Sie die Option -ef oder -eF mit dem Befehl.
ps -ef
ps -eF
Die oben genannte Ausgabe enthält die folgenden Informationen zu Prozessen.
- UID : Die Benutzer-ID des für den Prozess verantwortlichen Benutzers
- PID : Die Prozess-ID des Eintrags
- PPID : Die Prozess-ID des übergeordneten Prozesses
- C : Informationen zur CPU-Auslastung und zum Zeitplan für den Prozess
- STIME : Zeitpunkt, zu dem der Prozess gestartet wurde
- TTY : Der Name des Terminals, das Sie gerade verwenden
- ZEIT : Menge der vom Prozess verwendeten CPU-Zeit
- CMD : Der Befehl, der den Prozess ausgeführt hat
Eine Liste der Prozesse abrufen, die sich auf einen Benutzer beziehen
Die Option -u zeigt eine Liste aller Prozesse an, die von einem bestimmten Benutzer gestartet wurden.
ps -u username
Prozesse anzeigen, die sich auf den Root-Benutzer beziehen
Um alle Prozesse anzuzeigen, die vom Root-Benutzer ausgeführt werden, übergeben Sie root mit den Flags -U und -u .
ps -U root -u root
Holen Sie sich eine Prozess-PID
Verwenden Sie das Flag -C mit dem Befehl, um die Prozess-ID eines bestimmten Prozesses abzurufen .
ps -C process-name
Ersetzen Sie den Prozessnamen durch den Namen des Prozesses. Die Ausgabe zeigt die ID des Prozesses an.
ps -C bash
Listen Sie die Themen eines bestimmten Prozesses auf
Möglicherweise wissen Sie, dass ein Prozess mehrere Threads enthalten kann, die jeweils für eine bestimmte Aufgabe verantwortlich sind. Verwenden Sie das Flag -L mit dem Befehl ps, um eine Liste der Threads eines Prozesses anzuzeigen. Beachten Sie, dass Sie die Prozess-ID des Prozesses zusammen mit dem Befehl übergeben müssen.
ps -L pid
Zum Beispiel
ps -L 1250
Anzeigeprozess, der einer bestimmten Gruppe zugeordnet ist
Das Abrufen einer Liste von Prozessen, die sich auf eine bestimmte Gruppe beziehen, ist ebenfalls einfach. Verwenden Sie das Flag -fG mit dem Standardbefehl.
ps -fG groupname
Alternativ können Sie auch die Gruppen-ID anstelle des Gruppennamens übergeben.
ps -fG groupid
Zum Beispiel
ps -fG sudoers
ps -fg 1000
Prozesse in einem Baumformat anzeigen
So erhalten Sie eine hierarchische Baumdarstellung der laufenden Prozesse unter Linux:
ps -f --forest -C bash
Der oben genannte Befehl zeigt alle Prozesse an, die sich auf Bash beziehen.
Überwachen laufender Prozesse unter Linux
Zu wissen, welche Prozesse auf Ihrem Computer ausgeführt werden, kann sich als hilfreich erweisen, wenn Ihnen die Ressourcen ausgehen. Über die Befehlszeile können Sie nicht reagierende Linux-Prozesse , die Sie nicht auf Ihrem System haben möchten, problemlos beenden .
Für diejenigen, die über Low-End-Computer verfügen und ein Betriebssystem mit reibungsloser Leistung wünschen, stehen viele leichtgewichtige Linux-Distributionen zur Verfügung.