Laufende Prozesse in Bash mit ps auflisten
Liste mit ps laufende Prozesse auf, lies PID und Eigentümer, prüfe einen Prozess und entscheide, wann die Live-Ansicht top nützlicher ist.
Interaktive Lektion startenWenn du in einem Bash-Terminal sehen möchtest, was gerade läuft, beginne mit ps. Der Befehl ohne Optionen zeigt Prozesse, die mit deinem aktuellen Terminal verbunden sind. Nutze ps -ef für eine breitere systemweite Liste und lies PID, Eigentümer, Status und Befehl gemeinsam, bevor du auf einen Prozess einwirkst. In der Lektion zur Prozessliste kannst du das Lesen dieser Ausgabe üben, ohne echte Arbeitslasten zu berühren.
Mit dem aktuellen Terminal beginnen
Führe den Befehl zuerst ohne Optionen aus:
ps
Die genauen Überschriften unterscheiden sich je nach Betriebssystem, ein kurzes Ergebnis enthält jedoch häufig:
- PID: die Prozess-ID, die Werkzeuge wie kill verwenden.
- TTY: das mit dem Prozess verbundene Terminal.
- TIME: die vom Prozess verbrauchte CPU-Zeit.
- CMD oder COMMAND: das gestartete Programm.
Diese kleine Ansicht ist hilfreich, wenn du einen vom selben Terminal gestarteten Befehl bestätigen möchtest. Sie ist keine vollständige Bestandsaufnahme aller laufenden Prozesse des Computers.
Liste die Prozesse auf, die mit diesem Terminal verbunden sind.
Prozesse im gesamten System auflisten
Verwende für eine umfassendere Momentaufnahme:
ps -ef
Diese Form enthält normalerweise Prozesseigentümer, PID, Eltern-PID, Startinformationen und Befehlszeile. Sie lässt sich leichter speichern, durchsuchen oder einer Störungsnotiz hinzufügen als ein sich ständig verändernder Bildschirm.
In Linux-Dokumentationen findest du auch ps aux. Beide Formen entstammen unterschiedlichen Optionsstilen und können etwas andere Spalten zeigen. Sie sind weit verbreitet, Skripte sollten aber ein bekanntes Format wählen, statt auf eine identische Ausgabe jedes Unix-ähnlichen Systems zu vertrauen.
Fordere bestimmte Felder ausdrücklich an, wenn du sie benötigst:
ps -eo pid,ppid,user,stat,%cpu,%mem,command
Damit sind Bedeutung und Reihenfolge der Spalten eindeutig. Einige Feldnamen und Sortieroptionen unterscheiden sich zwischen Linux und macOS. Prüfe deshalb man ps, bevor du ein detailliertes Format in ein portables Skript übernimmst.
Eine PID vor ihrer Verwendung prüfen
Meldet ein anderes Werkzeug PID 123, untersuche diesen Prozess direkt:
ps -p 123 -o pid,ppid,user,stat,etime,command
Ersetze 123 durch die aktuelle beobachtete PID. Bestätige neben der Nummer auch Eigentümer und vollständigen Befehl. Eine PID kann nach Prozessende wiederverwendet werden; eine ID aus einer alten Nachricht gehört inzwischen möglicherweise zu einem anderen Programm.
top verwenden, wenn sich die Werte laufend ändern
ps liefert eine Momentaufnahme. Nutze top, wenn du Veränderungen der CPU- oder Speichernutzung beobachten möchtest:
top
Mit q beendest du top. Eine Live-Ansicht hilft dabei, einen Prozess zu erkennen, der wiederholt an die Spitze steigt. ps eignet sich besser, um einen genauen Zeitpunkt festzuhalten oder eine bekannte PID zu untersuchen. Keines der Werkzeuge entscheidet automatisch, ob ein Prozess sicher beendet werden kann. Das hängt weiterhin von Eigentümer, Befehl und Aufgabe ab.
Wissenscheck
1 / 1Welcher Wert kennzeichnet den genauen Prozess, den du untersuchen möchtest?
Wenn du den richtigen Prozess bestätigt hast, fahre mit einem Prozess sicher beenden fort. Die vollständigen Options- und Ausgaberegeln des Befehls stehen im procps-ng-Handbuch zu ps.
Quellen
Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.
Nächstes
Prüfe Prozess und PID, sende zuerst SIGTERM, kontrolliere das Ergebnis und nutze SIGKILL nur, wenn der Prozess nicht sauber beendet wird.