ps
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
processes liefert eine Momentaufnahme der laufenden Prozesse. Wenn eine ständige Aktualisierung der Prozessliste gewünscht ist, so ist top zu verwenden. Mit pgrep lassen sich Prozesse gezielt über den Namen oder eines regulären Ausdrucks suchen und mit pstree kann man alle laufenden Prozesse in Baumform anzeigen.
Installation¶
Das Programm ps ist in jeder Ubuntu-Installation bereits enthalten, und ist in dem Paket
procps
integriert.
Aufruf¶
Kurze Syntaxbeschreibung für die Verwendung in der Shell:
ps OPTIONEN
Optionen¶
ps akzeptiert verschiedene Arten von Optionen:
UNIX Optionen, die gruppiert werden können, und von einem Bindestrich (
-
) eingeleitet werden müssenBSD Optionen, die gruppiert werden können, und nicht von einem Bindestrich eingeleitet werden
GNU lange Optionen, die durch zwei vorangestellte Bindestriche (
--
) eingeleitet werden
Die verschiedenen Options-Typen können gemischt werden, allerdings kann es dabei zu Konflikten kommen.
Hinweis:
Es ist zu beachten, dass ps -aux
nicht das gleiche ist, wie ps aux
. Die POSIX- und UNIX-Standards verlangen, dass ps -aux
alle Prozesse ausgibt, die einem Benutzer namens "x" gehören, sowie alle Prozesse, die durch die -a
Option ausgewählt werden. Falls der Benutzer "x" nicht existiert, kann das Kommando als ps aux
interpretiert, und eine Warnung ausgegeben werden. Darauf sollte sich aber nicht verlassen werden.
Einfache Prozess-Auswahl | ||
-A | wählt alle Prozesse aus, identisch mit -e | |
-N oder --deselect | wählt alle Prozesse aus, die die angegebenen Bedingungen nicht erfüllen (negiert die Auswahl) | |
T | wählt alle Prozesse die mit dem aktuellen Terminal verbunden sind aus. Identisch der t Option, ohne jedes Argument | |
-a | wählt alle Prozesse, außer den Session-Leitern und Prozessen, die nicht mit einem Terminal verbunden sind, aus | |
a | hebt die BSD-Stil "nur du selbst" Beschränkung auf, die durch die Verwendung von BSD-Optionen auf die Auswahl der Prozesse angewendet wird. Diese Option listet also alle Prozesse eines Terminals | |
-d | wählt alle Prozesse außer Session-Leitern aus | |
-e | wählt alle Prozesse aus, identisch mit -A | |
r | beschränkt die Auswahl auf laufende Prozesse | |
-C PROZESSLISTE | zeigt nur die Prozesse an, die in PROZESSLISTE aufgeführt sind. | |
x | hebt die BSD-Stil "muss ein tty haben" Beschränkung auf, die durch die Verwendung von BSD-Optionen angewendet wird. Diese Option listet also alle Prozesse, die dem aufrufenden Benutzer gehören | |
Sonstige Optionen | ||
-f | erzeugt eine detailliertere Ausgabe | |
-F | erzeugt eine noch detailliertere Ausgabe |
Für die Vielzahl an weiteren zur Verfügung stehenden Optionen bitte einen Blick in die Manpages werfen.
Beispiele¶
Vollständige Prozessliste¶
Alle Prozesse unter Verwendung der Standard-Syntax anzeigen lassen:
ps -e
Das gleiche unter Verwendung der BSD-Syntax:
ps ax
Will man erweiterte Informationen erhalten, so erreicht man das mit
ps -eF
bzw.
ps aux
Prozessliste filtern¶
Oftmals werden Befehle der Form
ps aux | grep einprogramm
empfohlen, um herauszufinden ob einprogramm
läuft. Diese Syntax sollte man jedoch vermeiden, da sich hierbei grep einprogramm
selbst findet. Die korrekte Alternative lautet
ps -fC einprogramm
Man kann auch mittels
ps -fC einprogramm,nocheinprogramm,undnocheins
gleichzeitig nach mehreren Prozessen suchen.
Prozessbaum¶
Einen Prozessbaum anzeigen:
ps -ejH
(oder mit BSD-Syntax):
ps axjf
Grafisch schöner ist die Ausgabe, wenn pstree verwendet wird.
Links¶
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle