ubuntuusers.de

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:

Wiki/Icons/terminal.png 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üssen

  • BSD 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.

Diese Revision wurde am 5. Oktober 2016 14:50 von had77 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell