[[Vorlage(getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] '''p'''rocesse'''s''' liefert eine Momentaufnahme der laufenden Prozesse. Wenn eine ständige Aktualisierung der Prozessliste gewünscht ist, so ist [:Shell/top:top] zu verwenden. Mit [:pgrep:] lassen sich Prozesse gezielt über den Namen oder eines regulären Ausdrucks suchen und mit [:Shell/pstree: 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: {{{#!vorlage Befehl 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. {{{#!vorlage 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. }}} ||<-3 rowclass="titel"> 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 || ||<-3> || ||<-3 rowclass="titel"> 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 [:man:Manpages] werfen. = Beispiele = == Vollständige Prozessliste == Alle Prozesse unter Verwendung der Standard-Syntax anzeigen lassen: {{{#!vorlage Befehl ps -e }}} Das gleiche unter Verwendung der BSD-Syntax: {{{#!vorlage Befehl ps ax }}} Will man erweiterte Informationen erhalten, so erreicht man das mit {{{#!vorlage Befehl ps -eF }}} bzw. {{{#!vorlage Befehl ps aux }}} === Prozessliste filtern === Oftmals werden Befehle der Form {{{#!vorlage Befehl 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 {{{#!vorlage Befehl ps -fC einprogramm }}} Man kann auch mittels {{{#!vorlage Befehl ps -fC einprogramm,nocheinprogramm,undnocheins }}} gleichzeitig nach mehreren Prozessen suchen. == Prozessbaum == Einen Prozessbaum anzeigen: {{{#!vorlage Befehl ps -ejH }}} (oder mit BSD-Syntax): {{{#!vorlage Befehl ps axjf }}} Grafisch schöner ist die Ausgabe, wenn [:pstree:] verwendet wird. = Links = * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle #tag: Shell