Manpages

BEZEICHNUNG

ps - einen Schnappschuss der aktuellen Prozesse darstellen.

ÜBERSICHT

ps [Optionen]

BESCHREIBUNG

ps zeigt Informationen zu einer Auswahl aktiver Prozesse an. Falls Sie eine wiederholte Aktualisierung der Auswahl und der angezeigten Informationen benötigen, verwenden Sie stattdessen top.

Diese Version von ps akzeptiert verschiedene Arten von Optionen:

1

UNIX-Optionen, die gruppiert sein können und denen ein Bindestrich vorangestellt werden darf.

2

BSD-Optionen, die gruppiert sein können und denen kein Bindestrich vorangestellt werden muss.

3

Lange GNU-Optionen, denen zwei Bindestriche vorangestellt werden müssen.

Optionen verschiedener Typen können beliebig gemischt werden, was aber auch Konflikte hervorrufen kann. Es gibt einige gleichbedeutende Optionen, die funktionell identisch sind. Das beruht auf den zahlreichen Standards und Implementationen von ps, zu denen das vorliegende ps kompatibel ist.

Beachten Sie, dass sich ps -aux von ps aux unterscheidet. Die POSIX- und UNIX-Standards erfordern, dass ps -aux sowohl alle dem Benutzer namens x gehörenden Prozesse als auch jene Prozesse ausgibt, die durch die Option -a ausgewählt werden. Falls der Benutzer namens x nicht existiert, könnte diese Version von ps den Befehl als ps aux interpetieren und eine Warnung ausgeben. Dieses Verhalten ist dazu gedacht, den Übergang aus alten Skripten und Gewohnheiten zu erleichtern. Es ist fragil und möglicherweise Änderungen unterworfen. Daher sollten Sie sich nicht darauf verlassen.

Standardmäßig wählt ps alle Prozesse mit der effektiven Benutzerkennung (euid=EUID) des aktuellen Benutzers aus, die dem gleichen Terminal wie der Aufrufende zugeordnet sind. Es zeigt die Prozesskennung (pid=PID), das dem Prozess zugeordnete Terminal (tname=TTY), die kumulierte CPU-Zeit (time=TIME) im Format [TT-]hh:mm:ss sowie den Namen des ausführbaren Programms an. Die Ausgabe wird standardmäßig nicht sortiert.

Durch die Verwendung von Optionen im BSD-Stil wird der Prozessstatus (stat=STATUS) zur standardmäßigen Anzeige hinzugefügt und die Befehlsargumente (args=BEFEHL) anstelle des Namens der ausführbaren Datei angezeigt. Sie können dies in der Umgebungsvariable PS_FORMAT außer Kraft setzen. Durch die Verwendung von Optionen im BSD-Stil zeigt die Prozessauswahl außerdem Prozesse auf anderen Terminals (TTYs) an, deren Besitzer Sie selbst sind; alternativ könnte dies als Setzen der Auswahl auf alle Prozesse beschrieben werden, aus denen aber Prozesse herausgefiltert werden, die anderen Benutzern gehören oder nicht auf einem Terminal laufen. Diese Effekte werden nicht berücksichtigt, wenn Optionen nachfolgend als »gleichbedeutend« beschrieben werden, so wird -M als gleichbedeutend mit Z usw. aufgefasst.

Außer in den nachfolgend beschriebenen Ausnahmen sind Optionen zur Prozessauswahl additiv. Die standardmäßige Auswahl wird verworfen und dann werden die ausgewählten Prozesse zur Gruppe der anzuzeigenden Prozesse hinzugefügt. Ein Prozess wird also dann angezeigt, wenn er irgendeinem der angegebenen Auswahlkriterien entspricht.

BEISPIELE

Alle Prozesse im System in der Standard-Syntax anzeigen:

ps -e
ps -ef
ps -eF
ps -ely

Alle Prozess im System in der BSD-Syntax anzeigen:

ps ax
ps axu

Einen Prozessbaum ausgeben:

ps -ejH
ps axjf

Informationen zu Threads erhalten:

ps -eLf
ps axms

Sicherheitsinformationen erhalten:

ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM

Alle Prozesse im System, die mit Root-Rechten laufen
(reale & effektive Kennung), in einem benutzerdefinierten Format
anzeigen:

ps -U root -u root u

Alle Prozesse in einem benutzerdefinierten Format anzeigen:

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan

Nur die Prozesskennungen (PIDs) von syslogd ausgeben:

ps -C syslogd -o pid=

Nur den Namen des Prozesses mit der Kennung 42 ausgeben:

ps -q 42 -o comm=

EINFACHE PROZESSAUSWAHL

a

hebt die Einschränkung »nur Sie selbst« des BSD-Stils auf, die für die Gruppe aller Prozesse gilt, wenn einige BSD-artige Optionen (ohne »-«) verwendet werden oder wenn die Einstellung der Prozessausführungsumgebung von ps BSD-ähnlich ist. Die auf diese Weise ausgewählte Prozessgruppe wird zusätzlich zu den bereits auf andere Weise ausgewählten Prozessen ausgewählt. Alternativ könnte dies so beschrieben werden, dass diese Option ps veranlasst, alle Prozesse mit einem Terminal (TTY) aufzulisten, oder alle Prozesse aufzulisten, wenn dies zusammen mit der Option x verwendet wird.

-A

wählt alle Prozesse aus. Gleichbedeutend mit -e.

-a

wählt alle Prozesse aus, außer sowohl Sitzungsleiter (siehe getsid(2)) als auch Prozesse, die keinem Terminal zugeordnet sind.

-d

wählt alle Prozesse außer Sitzungsleiter aus.

--deselect

wählt alle Prozesse aus, außer jene, welche die angegebenen Bedingungen erfüllen (negiert die Auswahl). Gleichbedeutend mit -N.

-e

wählt alle Prozesse aus. Gleichbedeutend mit -A.

g

wählt wirklich alle, selbst die Sitzungsleiter. Dieser Schalter ist veraltet und könnte in zukünftigen Veröffentlichungen nicht mehr zur Verfügung stehen. Es wird normalerweise vom Schalter a impliziert und ist nur nützlich, wenn es in einer SunOs-Prozessausführungsumgebung ausgeführt wird.

-N

wählt alle Prozesse aus, außer jene, welche die angegebenen Bedingungen erfüllen (negiert die Auswahl). Gleichbedeutend mit --deselect.

T

wählt alle Prozesse aus, welche diesem Terminal zugeordnet sind. Gleichbedeutend mit der Option t ohne Argumente.

r

schränkt die Auswahl nur auf laufende Prozesse ein.

x

hebt die Einschränkung »muss ein TTY haben« des BSD-Stils auf, die für die Gruppe aller Prozesse gilt, wenn einige BSD-artige Optionen (ohne »-«) verwendet werden oder wenn die Einstellung der Prozessausführungsumgebung von ps BSD-ähnlich ist. Die auf diese Weise ausgewählte Prozessgruppe wird zusätzlich zu den bereits auf andere Weise ausgewählten Prozessen ausgewählt. Alternativ könnte dies so beschrieben werden, dass diese Option ps veranlasst, alle Prozesse aufzulisten, deren Besitzer Sie selbst sind (gleiche EUID wie ps), oder alle Prozesse aufzulisten, wenn dies zusammen mit der Option a verwendet wird.

PROZESSAUSWAHL NACH LISTE

Diese Optionen akzeptieren ein einzelnes Argument in der Form einer durch Leerräume oder Kommata getrennten Liste. Dies kann mehrmals angegeben werden. Beispiel: ps -p "1 2" -p 3,4

-123

ist gleichbedeutend mit --pid 123.

123

ist gleichbedeutend mit --pid 123.

-C Befehlsliste

wählt nach Befehlsnamen aus. Dadurch werden die Prozesse ausgewählt, deren Namen der ausführbaren Dateien in der Befehlsliste aufgeführt sind. Achtung: Der Befehlsname entspricht nicht der Befehlszeile. Frühere Versionen von procps und der Kernel kürzten diesen Befehlsnamen auf 15 Zeichen. Diese Einschränkung gibt es in beiden nicht mehr. Falls Sie sich nur auf 15 Zeichen beziehen, erhalten Sie keinen Treffer mehr.

-G Gruppenliste

wählt nach realer Gruppenkennung (RGID) oder nach Namen aus. Dadurch werden die Prozesse ausgewählt, deren realer Gruppenname oder -kennung in der Gruppenliste aufgeführt ist. Die reale Gruppenkennung identifiziert die Gruppe des Benutzers, der den Prozess erstellt hat, siehe getgid(2).

-g Gruppenliste

wählt nach Sitzung ODER effektivem Gruppennamen aus. Die Auswahl nach Sitzung wird durch zahlreiche Standards angegeben, aber die Auswahl nach effektiver Gruppe ist das logische Verhalten, das verschiedene andere Betriebssysteme verwenden. Diese Version von ps wählt nach Sitzung aus, wenn die Liste vollständig numerisch ist (wie es bei Sitzungen der Fall ist). Mit Gruppenkennungen (ID-Nummern) funktioniert es nur dann, wenn auch einige Gruppennamen angegeben werden. Siehe die Optionen -s und --group.

--Group Gruppenliste

wählt nach realer Gruppenkennung (RGID) oder Name aus. Gleichbedeutend mit -G.

--group Gruppenliste

wählt nach effektiver Gruppenkennung (EGID) oder Name aus. Dadurch werden die Prozesse ausgewählt, deren effektiver Gruppenname oder -kennung in der Gruppenliste aufgeführt ist. Die effektive Gruppenkennung bezieht sich auf die Gruppe, deren Dateizugriffsrechte vom Prozess genutzt werden (siehe getegid(2)). Die Option -g ist häufig eine Alternative zu --group.

PID-Liste

wählt nach Prozesskennung (PID) aus. Gleichbedeutend mit -p und --pid.

-p PID-Liste

wählt nach Prozesskennung (PID) aus. Dadurch werden die Prozesse ausgewählt, deren Prozesskennungen (ID-Nummern) in der PID-Liste aufgeführt sind. Gleichbedeutend mit p und --pid.

--pid PID-Liste

wählt nach Prozesskennung (PID) )aus. Gleichbedeutend mit -p und p.

--ppid PID-Liste

wählt nach Kennung des Elternprozesses aus. Dadurch werden die Prozesse ausgewählt, für die die Kennung eines Elternprozesses in der PID-Liste aufgeführt ist. Das bedeutet, dass Prozesse ausgewählt werden, die Kindprozesse der Prozesse in der PID-Liste sind.

PID-Liste

wählt nach Prozesskennung (PID) aus (schneller Modus). Gleichbedeutend mit -q und --quick-pid.

-q PID-Liste

wählt nach Prozesskennung (PID) aus (schneller Modus). Dadurch werden die Prozesse ausgewählt, deren Prozesskennungen (ID-Nummern) in der PID-Liste aufgeführt sind. Mit dieser Option liest ps die notwendigen Informationen nur für die in der PID-Liste aufgeführten Prozesskennungen und wendet keine zusätzlichen Filterregeln an. Die Reihenfolge der Prozesskennungen ist unsortiert und wird beibehalten. In diesem Modus sind keine weiteren Auswahloptionen, Sortierungen und Waldtyp-Auflistungen erlaubt. Gleichbedeutend mit q und --quick-pid.

--quick-pid PID-Liste

wählt nach Prozesskennung (PID) aus (schneller Modus). Gleichbedeutend mit -q und q.

-s Sitzungsliste

wählt nach Sitzungskennung aus. Dies wählt alle Prozesse aus, deren Sitzungskennung in der Sitzungsliste enthalten ist.

--sid Sitzungsliste

wählt nach Sitzungskennung aus. Gleichbedeutend mit -s.

TTY-Liste

wählt nach TTY aus. Dies ist fast gleichbedeutend mit -t und --tty, kann aber auch mit einer leeren TTY-Liste verwendet werden, um das ps zugeordnete Terminal zu bezeichnen. Die Verwendung der Option T wird als sauberer als die Option t mit einer leeren TTY-Liste betrachtet.

-t TTY-Liste

wählt nach TTY aus. Dadurch werden die Prozesse ausgewählt, die den in der TTY-Liste angegebenen Terminals zugeordnet sind. Terminals (TTYs oder Bildschirme für Textausgabe) können in verschiedenen Formen angegeben werden: /dev/ttyS1, ttyS1, S1. Ein einfaches »-« kann verwendet werden, um Prozesse auszuwählen, die keinem Terminal zugeordnet sind.

--tty TTY-Liste

wählt nach Terminal aus. Gleichbedeutend mit -t und t.

Benutzerliste

wählt nach effektiver Benutzerkennung (EUID) oder Name aus. Dadurch werden die Prozesse ausgewählt, deren effektiver Benutzername oder -kennung in der Benutzerliste aufgeführt ist. Die effektive Benutzerkennung bezieht sich auf den Benutzer, dessen Dateizugriffsrechte vom Prozess genutzt werden (siehe geteuid(2)). Gleichbedeutend mit -u und --user.

-U Benutzerliste

wählt nach realer Benutzerkennung (RUID) oder nach Namen aus. Dadurch werden die Prozesse ausgewählt, deren realer Benutzername oder -kennung in der Benutzerliste aufgeführt ist. Die reale Benutzerkennung identifiziert den Benutzer, der den Prozess erstellt hat, siehe getuid(2).

-u Benutzerliste

wählt nach effektiver Benutzerkennung (EUID) oder Name aus. Dadurch werden die Prozesse ausgewählt, deren effektiver Benutzername oder -kennung in der Benutzerliste aufgeführt ist.

Die effektiver Benutzerkennung beschreibt den Benutzer, dessen Dateizugriffsrechte vom Prozess genutzt werden (siehe geteuid(2)). Gleichbedeutend mit U und --user.

--User Benutzerliste

wählt nach realer Benutzerkennung (RUID) oder Name aus. Gleichbedeutend mit -U.

--user Benutzerliste

wählt nach effektiver Benutzerkennung (EUID) oder Name aus. Gleichbedeutend mit -u und U.

STEUERUNG DES AUSGABEFORMATS

Diese Optionen werden dazu verwendet, die von ps angezeigten Informationen auszuwählen. Die Ausgabe kann je nach Prozessausführungsumgebung variieren.

-c

zeigt verschiedene Scheduler-Informationen für die Option -l an.

--context

zeigt das Format des Sicherheitskontexts an (für SELinux).

-f

zeigt eine Auflistung im Vollformat an. Diese Option kann mit vielen anderen Optionen im UNIX-Stil kombiniert werden, um zusätzliche Spalten hinzuzufügen. Außerdem bewirkt die Option, dass die Befehlsargumente ausgegeben werden. Wenn Sie die Option zusammen mit -L verwenden, werden die Spalten NLWP (Anzahl der Threads) und LWP (Threadkennung) hinzugefügt. Siehe die Option c sowie die Formatschlüsselwörter args und comm.

-F

zeigt eine Auflistung im erweiterten Vollformat an. Siehe die Option -f, welche -F impliziert.

--format Format

zeigt im benutzerdefinierten Format an. Gleichbedeutend mit -o und o.

j

BSD-Jobsteuerung-Format.

-j

Job-Format.

l

zeigt das lange BSD-Format an.

-l

Langes Format. Die Option -y ist oft dafür nützlich.

-M

fügt eine Spalte mit sicherheitsrelevanten Daten hinzu. Gleichbedeutend mit Z (für SELinux).

Format

ist ein vorgeladenes o (überladen). Die BSD-Option O kann wie -O agieren (benutzerdefiniertes Ausgabeformat mit einigen vordefinierten häufig genutzten Feldern) oder dazu verwendet werden, die Sortierreihenfolge anzugeben. Das Verhalten dieser Option wird heuristisch bestimmt. Um das gewünschte Verhalten sicherzustellen (Sortierung oder Formatierung), geben Sie die Option auf eine andere Weise an (zum Beispiel mit -O oder --sort). Wenn Sie sie als Formatierungsoption verwenden, ist sie in der BSD-Prozessausführungsumgebung gleichbedeutend mit -O.

-O Format

ist ähnlich zu -o, aber mit einigen Standardspalten vorgeladen. Gleichbedeutend mit -o PID,Format,Status,tName,Zeit,Befehl oder -o PID,Format,tName,Zeit,Befehl, siehe -o nachfolgend.

Format

legt das benutzerdefinierte Format fest. Gleichbedeutend mit -o und --format.

-o Format

legt das benutzerdefinierte Format fest. Das Format ist ein einzelnes Argument in der From einer durch Leerräume oder Kommata getrennten Liste, die eine Möglichkeit bietet, individuelle Ausgabespalten anzugeben. Die erkannten Schlüsselwörter sind im nachfolgenden Abschnitt STANDARD-FORMATBEZEICHNER beschrieben. Kopfzeilen dürfen nach Wunsch umbenannt werden (ps -o PID,ruser=echter_Benutzer -o comm=Befehl). Falls alle Spaltenüberschriften leer sind (ps -o pid= -o comm=), wird keine Kopfzeile ausgegeben. Die Spaltenbreite wird bei breiteren Überschriften angepasst; das kann zur Verbreiterung von Spalten wie WCHAN (ps -o PID,wchan= WIDE-WCHAN-COLUMN -o comm) angewendet werden. Eine explizite Steuerung der Breite ist ebenfalls möglich (ps opid,wchan:42, cmd). Das Verhalten von ps -o pid=X,comm=Y variiert je nach Prozessausführungsumgebung; die Ausgabe kann in einer Spalte namens »X,comm=Y« oder in zwei Spalten namens »X« und »Y« erfolgen. Im Zweifel sollten Sie die Option -o mehrmals verwenden. Mit der Umgebungsvariable PS_FORMAT können Sie eine Vorgabe nach Ihrem Wunsch festlegen; DefSysV und DefBSD sind Makros, die Sie zur Wahl der standardmäßigen UNIX- oder BSD-Spalten verwenden können.

s

zeigt im Signalformat an.

u

zeigt im benutzerorientierten Format an.

v

zeigt im virtuellen Speicherformat an.

X

zeigt im Registerformat an.

-y

zeigt keine Schalter an; statt addr wird rss angezeigt. Diese Option kann nur zusammen mit -l verwendet werden.

Z

fügt eine Spalte mit sicherheitsrelevanten Daten hinzu. Gleichbedeutend mit -M (für SELinux).

AUSGABE-MODIFIKATOREN

c

zeigt den echten Befehlsnamen an. Dieser wird aus dem Namen der ausführbaren Datei statt aus dem Wert von argv abgeleitet. Befehlsargumente und deren eventuelle Änderungen werden daher nicht angezeigt. Diese Option verwandelt das Formatschlüsselwort args effektiv in das Formatschlüsselwort comm; sie ist mit der Formatoption -f und den verschiedenen Formatoptionen im BSD-Stil nützlich, welche alle normalerweise die Befehlsargumente anzeigen. Siehe die Option -f sowie die Formatschlüsselwörter args und comm.

--cols n

legt die Bildschirmbreite fest.

--columns n

legt die Bildschirmbreite fest.

--cumulative

fügt einige Daten toter Kindprozesse hinzu (als Summe mit den Elternprozessen).

e

zeigt die Umgebung nach dem Befehl an.

f

zeigt die Prozesshierarchie in ASCII-Art an (Wald).

--forest

zeigt einen Prozessbaum in ASCII-Art an.

h

zeigt keine Kopfzeilen an (oder eine Kopfzeile pro Bildschirm in der BSD-Prozessausführungsumgebung). Die Option h ist problematisch. Das standardmäßige ps in BSD verwendet diese Option, um eine Kopfzeile auf jeder Seite der Ausgabe anzuzeigen, ältere Linux-Versionen von ps hingegen unterdrücken damit die Anzeige der Kopfzeile komplett. Diese Version von ps gibt keine Kopfzeilen aus und folgt damit dem Linux-Verhalten. Nur wenn die BSD-Prozessausführungsumgebung ausgewählt ist, wird eine Kopfzeile auf jeder Seite der Ausgabe angezeigt. Unabhängig von der aktuellen Prozessausführungsumgebung können Sie die Langoptionen --headers bzw. --no-headers dazu verwenden, um die Anzeige der Kopfzeilen auf jeder Seite zu aktivieren oder vollständig zu deaktivieren.

-H

zeigt die Prozesshierarchie an (Waldansicht).

--headers

wiederholt die Kopfzeilen jeweils einmal pro ausgegebener Seite.

Spez

legt die Sortierreihenfolge fest. Die Sortierungssyntax ist [+|-]Schlüssel[,[+|-]Schlüssel[, …]]. Wählen Sie einen aus mehreren Buchstaben bestehenden Schlüssel aus dem Abschnitt STANDARD-FORMATBEZEICHNER. Das »+« ist optional, da die Standardsortierung nach der ansteigenden numerischen oder lexikographischen Reihenfolge vorgenommen wird. Gleichbedeutend mit --sort.

Beispiele:
ps jaxkuid,-ppid,+pid
ps axk comm o comm,args
ps kstart_time -ef

--lines n

legt die Bildschirmhöhe fest.

n

aktiviert die numerische Ausgabe für WCHAN und USER (einschließlich aller UID- und GID-Typen).

--no-headers

unterdrückt die Ausgabe jeglicher Kopfzeilen. --no-heading ist ein Alias für diese Option.

Reihenfolge

legt die Sortierreihenfolge fest (überladen). Die BSD-Option O kann wie -O agieren (benutzerdefiniertes Ausgabeformat mit einigen vordefinierten häufig genutzten Feldern) oder dazu verwendet werden, die Sortierreihenfolge anzugeben. Das Verhalten dieser Option wird heuristisch bestimmt. Um das gewünschte Verhalten sicherzustellen (Sortierung oder Formatierung), geben Sie die Option auf eine andere Weise an (zum Beispiel mit -O oder --sort).

Für die Sortierung ist O[+|-]k1[,[+|-]k2[, …]] die Syntax der veralteten BSD-Option O. Es ordnet die Prozessliste anhand der mehrstufigen Sortierung gemäß der einbuchstabigen Kurzschlüssel k1, k2, … , die nachfolgend im Abschnitt VERALTETE SORTIERSCHLÜSSEL beschrieben sind. Das »+« ist derzeit optional, es wiederholt nur die Standardrichtung eines Schlüssels, aber kann dabei helfen, Sortierungen nach O von einem Format O zu unterscheiden. Das »-« kehrt die Richtung nur für den Schlüssel um, dem es vorangestellt ist.

--rows n

legt die Bildschirmhöhe fest.

S

addiert Informationen, wie die CPU-Nutzung, aus den Informationen toter Kindprozesse und denen ihrer Elternprozesse. Dies ist nützlich, wenn Sie ein System untersuchen wollen, in dem ein Elternprozess fortwährend kurzlebige Kindprozesse mit fork() erstellt, um arbeiten zu können.

--sort Spez

legt die Sortierreihenfolge fest. Die Sortierungssyntax ist [+|-]Schlüssel[,[+|-]Schlüssel[, …]]. Wählen Sie einen aus mehreren Buchstaben bestehenden Schlüssel aus dem Abschnitt STANDARD-FORMATBEZEICHNER. Das »+« ist optional, da die Standardsortierung nach der aufsteigenden numerischen oder lexikographischen Reihenfolge vorgenommen wird. Gleichbedeutend mit k. Beispiel: ps jax --sort=uid,-ppid,+pid

w

aktiviert die breite Ausgabe. Verwenden Sie diese Option zweimal, um die Breite auf unbegrenzt zu setzen.

-w

aktiviert die breite Ausgabe. Verwenden Sie diese Option zweimal, um die Breite auf unbegrenzt zu setzen.

--width n

legt die Bildschirmbreite fest.

THREAD-ANZEIGE

H

zeigt Threads so an, als wären sie Prozesse.

-L

zeigt Threads an, eventuell mit den Spalten LWP und NLWP.

m

zeigt Threads nach Prozessen an.

-m

zeigt Threads nach Prozessen an.

-T

zeigt Threads an, möglicherweise mit einer SPID-Spalte.

WEITERE INFORMATIONEN

--Hilfe Abschnitt

gibt eine Hilfemeldung aus. Das Argument Abschnitt kann eines aus simple, list, output, threads, misc oder all sein. Das Argument kann wie folgt auf einen der unterstrichenen Buchstaben gekürzt werden: s|l|o|t|m|a.

--info

gibt Informationen zur Fehlerdiagnose aus.

L

listet alle Formatbezeichner auf.

V

gibt die Version von Procps-ng aus.

-V

gibt die Version von Procps-ng aus.

--version

gibt die Version von Procps-ng aus.

ANMERKUNGEN

Diese Version von ps basiert auf dem Auslesen virtueller Dateien in /proc. Diese Version von ps muss nicht setuid »kmem« sein oder zur Ausführung über irgendwelche Privilegien verfügen. Geben Sie dieser Version von ps keine besonderen Rechte.

Die CPU-Nutzung wird derzeit als der Prozentwert der während der gesamten Lebensdauer verwendeten Laufzeit ausgedrückt. Das ist nicht ideal und ist nicht zu den Standards konform, an denen sich ps ansonsten orientiert. Es ist unwahrscheinlich, dass die Summe der CPU-Nutzung 100% erreicht.

Die Felder SIZE und RSS zählen einige Teile des Prozesses nicht, wie die Seitentabellen, den Kernel-Stack, die Structs »thread_info« und »task_struct«. Dies ergibt üblicherweise mindestens 20 KiB Speicher, die immer belegt sind. SIZE ist die virtuelle Größe des Prozesses (Code+Daten+Stack).

Als <defunct> markierte Prozesse sind tote Prozesse (sogenannte »Zombies«). Diese sind deswegen noch vorhanden, weil deren Elternprozesse sie nicht sauber beendet haben. Diese Prozesse werden durch init(8) zerstört, sofern der Elternprozess existiert.

Falls der Benutzername länger ist als die Breite der Anzeigespalte, wird der Benutzername gekürzt. Mit den Formatierungsoptionen -o und -O können Sie die Breite anpassen.

Von Befehlszeilenoptionen wie ps -aux wird abgeraten, da sie zwei Standards vermischen. Entsprechend den POSIX- und UNIX-Standards bewirkt der vorstehende Befehl die Anzeige aller Prozesse mit einem TTY (im Allgemeinen die Befehle, die Benutzer ausführen) und zusätzlich aller Prozesse, die einem Benutzer namens x gehören. Existiert dieser Benutzer nicht, wird ps annehmen, dass Sie eigentlich ps aux meinten.

PROZESSSCHALTER

Die Summe dieser Werte wird in der Spalte »F« angezeigt, die durch den Ausgabebezeichner flags bereitgestellt wird:

1

mit fork() erstellt, aber nicht ausgeführt

4

Superuser-Privilegien verwendet

PROZESSZUSTANDSCODES

Dies sind die verschiedenen Werte, welche die Ausgabebezeichner s, stat und state (Überschrift »STAT« oder »S«) anzeigen, um den Status eines Prozesses zu beschreiben:

D

Nicht unterbrechbarer Schlafzustand (üblicherweise E/A)

I

Kernel-Thread im Leerlauf

R

Laufend oder lauffähig (in der Ausführungswarteschlange)

S

Unterbrechbarer Schlafzustand (auf den Abschluss eines Ereignisses wartend)

T

Durch Jobsteuersignal gestoppt

t

Durch Debugger während der Verfolgung gestoppt

W

Paging (ungültig seit Kernel 2.6.xx)

X

Tot (sollte niemals angezeigt werden)

Z

Defunktionaler (»Zombie«-) Prozess, beendet, aber durch seinen Elternprozess nicht aufgeräumt

Für BSD-Formate und bei Verwendung des Schlüsselworts stat können zusätzliche Zeichen angezeigt werden:

<

Hohe Priorität (nicht »nice« zu anderen Benutzern)

N

Niedrige Priorität (»nice« zu anderen Benutzern)

L

Hat im Speicher gesperrte Seiten (für Echtzeit- und benutzerdefinierte E/A)

s

Ist ein Sitzungsleiter

l

Ist multi-threaded (mittels CLONE_THREAD, wie es NPTL-Pthreads tun)

+

Ist in der Vordergrund-Prozessgruppe

VERALTETE SORTIERSCHLÜSSEL

Diese Schlüssel werden von der BSD-Option O verwendet (wenn diese zur Sortierung verwendet wird). Die GNU-Option --sort verwendet diese Schlüssel nicht, sondern die im nachfolgenden Abschnitt STANDARD-FORMATBEZEICHNER beschriebenen Schlüssel. Beachten Sie, dass die in der Sortierung verwendeten Werte die internen Werte sind, die ps nutzt, und nicht die »verarbeiteten« Werte, die in einigen der Ausgabeformat-Felder verwendet werden (zum Beispiel wird bei der Sortierung nach TTY anhand der Gerätenummern sortiert und nicht anhand des angezeigten Terminalnamens). Leiten Sie die Ausgabe von ps an den Befehl sort weiter, wenn Sie nach den verarbeiteten Werten sortieren wollen.

AIX-FORMATDESKRIPTOREN

Diese Version von ps unterstützt AIX-Formatdeskriptoren, die ähnlich den Formatierungscodes von printf(1) und printf(3) funktionieren. Die normale, standardmäßige Ausgabe kann folgendermaßen erzeugt werden: ps -eo "%p %y %x %c". Die NORMAL-Codes sind im nächsten Abschnitt beschrieben.

STANDARD-FORMATBEZEICHNER

Hier sind die verschiedenen Schlüsselwörter, die zum Steuern des Ausgabeformats (zum Beispiel mit der Option -o) oder zum Sortieren der ausgewählten Prozesse mit der GNU-artigen Option --sort verwendet werden können.

Beispiel: ps -eo pid,user,args --sort user

Diese Version von ps versucht, die meisten der in anderen Implementierungen von ps verwendeten Schlüsselwörter zu erkennen.

Die folgenden benutzerdefinierten Formatbezeichner dürfen Leerräume enthalten: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.

Einige Schlüsselwörter könnten nicht für die Sortierung verfügbar sein.

              

UMGEBUNGSVARIABLEN

Die folgenden Umgebungsvariablen könnten ps beeinflussen:
COLUMNS

setzt die vorgegebene Bildschirmbreite außer Kraft.

LINES

setzt die vorgegebene Bildschirmhöhe außer Kraft.

PS_PERSONALITY

wird auf eines von »posix«, »old«, »linux«, »bsd«, »sun«, »digital« … gesetzt (siehe Abschnitt PROZESSAUSFÜHRUNGSUMGEBUNG nachfolgend).

CMD_ENV

wird auf eines von »posix«, »old«, »linux«, »bsd«, »sun«, »digital« … gesetzt (siehe Abschnitt PROZESSAUSFÜHRUNGSUMGEBUNG nachfolgend).

I_WANT_A_BROKEN_PS

erzwingt die Interpretation veralteter Befehlszeilen.

LC_TIME

Datumsformat.

PS_COLORS

wird gegenwärtig nicht unterstützt.

PS_FORMAT

Außerkraftsetzung des vorgegebenen Ausgabeformats. Sie können dies auf eine Formatzeichenkette des Typs setzen, den Sie für die Option -o nutzen. Insbesondere die Werte DefSysV und DefBSD sind sinnvoll.

POSIXLY_CORRECT

Finde keine Entschuldigungen zum Ignorieren schlechter »Funktionen«.

POSIX2

Wenn auf »on« gesetzt, agiert es als POSIXLY_CORRECT.

UNIX95

Finde keine Entschuldigungen zum Ignorieren schlechter »Funktionen«.

_XPG

Zeigt kein nicht standardkonformes Verhalten bei CMD_ENV=irix.

Generell ist es keine gute Idee, diese Variablen zu setzen. Die einzige Ausnahme ist CMD_ENV oder PS_PERSONALITY, die für normale Systeme auf »Linux« gesetzt werden können. Ohne diese Einstellung folgt ps den nutzlosen und schlechten Teilen des Unix98-Standards.

PROZESSAUSFÜHRUNGSUMGEBUNG

SIEHE AUCH

pgrep(1), pstree(1), top(1), proc(5).

STANDARDS

Diese Version von ps ist konform zu:

1

Version 2 der Single Unix Specification

2

The Open Group Technical Standard Base Specifications, Ausgabe 6

3

IEEE Std 1003.1, Ausgabe 2004

4

X/Open System Interfaces Extension [UP XSI]

5

ISO/IEC 9945:2003

AUTOR

ps wurde ursprünglich von lankeste [AT] fwi.nl">Branko Lankester geschrieben. johnsonm [AT] redhat.com">Michael K. Johnson überarbeitete es deutlich, damit es das Proc-Dateisystem nutzt, wobei einige Dinge dabei geändert wurden. mjshield [AT] nyx.edu">Michael Shields fügte die PID-Listen-Funktion hinzu. cblake [AT] bbn.com">Charles Blake fügte die mehrstufige Sortierung, die Bibliothek im Dirent-Stil, die Datenbank zum Zuweisen von Gerätenamen zu deren Nummern, die näherungsweise Binärsuche direkt in System.map hinzu sowie bereinigte größere Teile des Codes und der Dokumentation. David Mossberger-Tang schrieb die generische BFD-Unterstützung für psupdate. albert [AT] users.net">Albert Cahalan überarbeitete ps für vollständige Unix98- und BSD-Unterstützung, zusammen mit einigen Hacks bezüglich veralteter and fremder Syntax.

Bitte schicken Sie Fehlermeldungen (auf Englisch) an procps [AT] freelists.org">procps [AT] freelists.org erforderlich.

COMMENTS