Das ps
command, kurz für Process Status, ist ein Befehlszeilendienstprogramm, das verwendet wird, um Informationen zu den in einem Linux-System ausgeführten Prozessen anzuzeigen oder anzuzeigen .
Wie wir alle wissen, ist Linux ein Multitasking- und Multiprocessing-System. Daher können mehrere Prozesse gleichzeitig ausgeführt werden, ohne sich gegenseitig zu beeinflussen.
Der Befehl ps listet aktuell laufende Prozesse zusammen mit ihren PIDs und anderen Attributen auf. In diesem Handbuch konzentrieren wir uns auf die Verwendung des ps-Befehls.
Es ruft Informationen über die Prozesse aus virtuellen Dateien ab, die sich im Dateisystem /proc befinden
ps-Befehl ohne Argumente
Der Befehl ps ohne Argumente listet die laufenden Prozesse in der aktuellen Shell
aufps
Ausgabe
Die Ausgabe besteht aus vier Spalten
PID
– Dies ist die eindeutige Prozess-ID
TTY
– Dies ist der Terminaltyp, an dem der Benutzer angemeldet ist
TIME
– Dies ist die Zeit in Minuten und Sekunden, die der Prozess ausgeführt wurde
CMD
– Der Befehl, der den Prozess gestartet hat
Anzeige aller laufenden Prozesse in verschiedenen Formaten
Um einen Überblick über alle laufenden Prozesse zu erhalten, führen Sie den folgenden Befehl aus
ps -A
Ausgabe
oder
ps -e
Ausgabe
Mit dem Terminal verknüpfte Prozesse anzeigen
Zum Anzeigen von Prozessen, die mit dem Terminallauf verknüpft sind
ps -T
Ausgabe
Prozesse anzeigen, die nicht mit dem Terminal verknüpft sind
Zum Anzeigen aller Prozesse mit Ausnahme der Prozesse, die dem Terminal und den Sitzungsleitern zugeordnet sind
ausführen
ps -a
Ein Sitzungsleiter ist ein Prozess, der andere Prozesse startet
Ausgabe
Alle aktuell laufenden Prozesse anzeigen
Um alle aktuellen Prozesse anzuzeigen, führen Sie
ausps -ax
Ausgabe
-a
Flag steht für alle Prozesse-x
zeigt alle Prozesse an, auch die, die nicht mit dem aktuellen tty verknüpft sind
Alle Prozesse im BSD-Format anzeigen
Wenn Sie Prozesse im BSD-Format anzeigen möchten, führen Sie
ausps au
ODER
ps aux
Ausgabe
Um eine Auflistung im vollständigen Format durchzuführen
So zeigen Sie einen Listenlauf im vollständigen Format an
ps -ef
ODER
ps -eF
Ausgabe
Prozesse nach Benutzer filtern
Wenn Sie Prozesse auflisten möchten, die einem bestimmten Benutzer zugeordnet sind, verwenden Sie -u
Flagge wie gezeigt
ps -u user
Zum Beispiel
ps -u jamie
Ausgabe
Prozess nach Threadprozess filtern
Wenn Sie den Thread eines bestimmten Prozesses wissen möchten, verwenden Sie das -L
Flag gefolgt von der PID
Zum Beispiel
ps -L 4264
Ausgabe
Jeden Prozess anzeigen, der als root ausgeführt wird
Manchmal möchten Sie vielleicht alle Prozesse anzeigen, die vom Root-Benutzer ausgeführt werden. Um diesen Lauf zu erreichen
ps -U root -u root
Ausgabe
Gruppenprozesse anzeigen
Wenn Sie alle Prozesse auflisten möchten, die einem bestimmten Gruppenlauf zugeordnet sind
ps -fG group_name
Oder
ps -fG groupID
Zum Beispiel
ps -fG root
Ausgabe
Suchprozess-PID
Es besteht die Möglichkeit, dass die PID eines Prozesses normalerweise nicht bekannt ist. Sie können die PID eines Prozesses suchen, indem Sie ihn
ausführen
ps -C process_name
Zum Beispiel
ps -C bash
Ausgabe
Prozesse nach PID auflisten
Sie können Prozesse wie gezeigt nach ihrer PID anzeigen
ps -fp PID
Zum Beispiel
ps -fp 1294
Ausgabe
Prozesshierarchie in einem Baumdiagramm anzeigen
Normalerweise werden die meisten Prozesse von übergeordneten Prozessen abgezweigt. Das Kennenlernen dieser Eltern-Kind-Beziehung
kann hilfreich sein. Der folgende Befehl sucht nach Prozessen mit dem Namen apache2
ps -f --forest -C bash
Ausgabe
Untergeordnete Prozesse eines übergeordneten Prozesses anzeigen
Wenn Sie beispielsweise alle gegabelten Prozesse anzeigen möchten, die zu Apache gehören, führen Sie
ausps -o pid,uname,comm -C bash
Ausgabe
Der erste Prozess, der Root gehört, ist der Apache2-Hauptprozess und die restlichen Prozesse
wurden von diesem Hauptprozess abgezweigt
Um alle untergeordneten Apache2-Prozesse anzuzeigen, verwenden Sie die PID des Hauptprozesses von Apache2
ps --ppid PID no.
Zum Beispiel
ps --ppid 1294
Ausgabe
Prozess-Threads anzeigen
Der Befehl ps kann verwendet werden, um Threads zusammen mit den Prozessen anzuzeigen.
Der folgende Befehl zeigt alle Threads an, die dem Prozess mit der PID pid_no
gehörenps -p pid_no -L
Zum Beispiel
ps -p 1294 -L
Ausgabe
Ausgewählte Spaltenliste anzeigen
Sie können den Befehl ps verwenden, um nur die Spalten anzuzeigen, die Sie benötigen.
Zum Beispiel ,
ps -e -o pid,uname,pcpu,pmem,comm
Der obige Befehl zeigt nur die Spalten PID, Benutzername, CPU, Speicher und Befehl an
Ausgabe
Spaltenbeschriftungen umbenennen
Um Spaltenbeschriftungen umzubenennen, führen Sie den folgenden Befehl aus
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
Ausgabe
Verstrichene Zeit von Prozessen anzeigen
Die verstrichene Zeit bezieht sich darauf, wie lange der Prozess bereits läuft
ps -e -o pid,comm,etime
Ausgabe
Die Option -o aktiviert die Spalte für die abgelaufene Zeit
PS-Befehl mit grep verwenden
Der Befehl ps kann mit dem Befehl grep verwendet werden, um nach einem bestimmten Prozess zu suchen
Zum Beispiel
ps -ef | grep systemd
Ausgabe