Linux / Befehl ps: Laufende Prozesse überprüfen
ps zeigt eine Liste der Prozesse zum Zeitpunkt der Ausführung. Es wird verwendet, um die PID, den Benutzer, den Status und den Befehl zu überprüfen, um zu untersuchen, ob ein bestimmter Dienst oder eine bestimmte Aufgabe tatsächlich ausgeführt wird.
ps gibt einen Schnappschuss zu einem einzelnen Zeitpunkt aus und endet dann. Wenn Sie Werte in Echtzeit sehen möchten, verwenden Sie top oder htop. Die Optionsnotation umfasst sowohl POSIX- als auch BSD-Stile, sodass die Bedeutung je nach Verwendung eines Bindestrichs unterschiedlich sein kann.
Grundlegende Syntax
ps [options]
Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung für das aktuelle System mit man ps.
Beispiele
Prozesse des aktuellen Terminals
Wenn es ohne Argumente ausgeführt wird, werden normalerweise nur Prozesse angezeigt, die mit dem aktuellen Terminal verbunden sind.
ps
Systemweite Prozesse
Es bietet einen breiten Überblick über Benutzer, PID, übergeordnete PID und Befehl.
ps -ef
Festlegen von Feldern für eine bestimmte PID
Wenn Sie nur die notwendigen Spalten angeben, ist es einfacher, Skripte zu lesen und Ergebnisse zu überprüfen.
ps -p 1234 -o pid,ppid,user,stat,cmd
So lesen Sie Prozessspalten
ps zeigt einen Schnappschuss der Prozesse zum Zeitpunkt der Ausführung. Durch die Angabe von Spalten können PID (Prozess-ID), PPID (übergeordnete PID), Status und Befehlsname klar unterschieden werden.
ps -o pid,ppid,stat,comm -p $$
Beispiellausgabe (Zahlen variieren bei jedem Ausführen):
PID PPID STAT COMMAND 4321 4100 Ss bash
$$ ist die PID der aktuellen Shell. Der erste Buchstabe von STAT gibt den Zustand an, zum Beispiel laufend oder wartend, und die folgenden Buchstaben geben zusätzliche Zustände an. Da Prozesse unmittelbar nach der Abfrage beendet werden können, stellen Sie sicher, die PID und den Befehl erneut zu überprüfen, bevor Sie einen Beendigungsbefehl ausführen.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-e |
Wählen Sie den gesamten Prozess aus. |
-f |
Ausgabe im detaillierten Format. |
-p PID |
Wählen Sie nur die angegebene Prozess-ID aus. |
-o column_list |
Geben Sie die Felder und die Reihenfolge an, in der sie ausgegeben werden sollen. |
aux |
Alle Benutzerprozesse und Ressourcendaten im BSD-Stil anzeigen. |
Vorsichtsmaßnahmen bei der Verwendung
ps | grep name kann den grep-Prozess selbst in den Ergebnissen enthalten. pgrep ist praktisch, um PIDs nach Name zu suchen. Da Prozesse schnell erstellt und beendet werden können, stellen Sie sicher, dass Sie erneut prüfen, ob die PID noch derselbe Task ist, bevor Sie direkt nach der Ausgabe ein Signal senden.
Häufig gestellte Fragen
Was ist der Unterschied zwischen ps und top?
ps druckt einen Schnappschuss der Prozessliste zum Zeitpunkt seiner Ausführung und beendet sich dann. top aktualisiert den Bildschirm periodisch, sodass Sie Änderungen im Laufe der Zeit beobachten können.
Offizielle Dokumentation
Das genaue Verhalten der Optionen und Implementierungsunterschiede finden Sie in der offiziellen ps-Dokumentation.




