ps
ÜBERSICHT
ps [optionen]
BESCHREIBUNG
ps zeigt eine Momentaufnahme der aktuellen Prozesse. Wenn Sie eine
fortlaufende Aktualisierung der Ausgabe wünschen, verwenden Sie top.
Diese Handbuchseite beschreibt die /proc-basierte Version von ps bzw.
versucht dieses.
OPTIONEN
Diese Version von ps unterstützt verschiedene Arten von Optionen.
Unix-Optionen dürfen gruppiert werden und müssen einen Bindestrich vor-
angestellt haben. BSD-Optionen dürfen gruppiert werden und dürfen
keinen Bindestrich vorangestellt haben. Langen GNU-Optionen sind zwei
Bindestriche vorangestellt.
Optionen der verschiedenen Arten dürfen beliebig gemischt werden.
Setzen Sie die Umgebungsvariable I_WANT_A_BROKEN_PS, wenn Sie die BSD-
Syntax auch dann erzwingen möchten, wenn Optionen ein Bindestrich vor-
angestellt ist. Die Umgebungsvariable PS_PERSONALITY (siehe weiter
unten) bietet eine detailliertere Kontrolle des Verhaltens.
EINFACHE PROZESSAUSWAHL
-A Wählt alle Prozesse aus
-N Negative Auswahl
-a Wählt alle mit einem tty bis auf Session-Leiter
-d Wählt alle, bis auf Session-Leiter aus
-e Wählt alle Prozesse aus
T Wählt alle Prozess für dieses Terminal aus
a Wählt alle Prozesse mit einem Terminal aus, inklusive der anderer Benutzer
g Wirklich alle, auch Prozessgruppen-Leiter (hat nicht zu tun mit SunOS-Einstellungen)
r Beschränkt die Ausgabe auf laufende Prozesse
x Wählt Prozesse ohne kontrollierende ttys
--deselect Negative Auswahl
PROZESSAUSWAHL ÜBER LISTE
-C Auswahl über Befehlsnamen
-G Auswahl über RGID (unterstützt Namen)
-U Auswahl über RUID (unterstützt Namen)
-g Auswahl über Session-Leiter oder über Gruppennamen
-p Auswahl über PID
-s Wählt Prozesse, die zu der gegebenen Session gehören
-t Auswahl über tty
-u Auswahl über effektive User-ID (unterstützt Namen)
U Wählt Prozesse für die angegebenen Benutzer aus
p Auswahl über Prozess-ID
t Auswahl über tty
--Group Auswahl über tatsächlichen Gruppennamen oder ID
-f komplette Ausgabe
-j Jobs-Format
-l langes Format
-o Benutzer-definiertes Format
-y keine Flags anzeigen; rss anstelle von addr
O wird vor "o" geladen (überladen)
X altes Linux-i386 Register-Format
j Job-Control-Format
l langes Format
o Benutzer-definiertes Format
s Signal-Format
u Benutzer-definiertes Format
v Virtual-Memory-Format
--format Benutzer-definiertes Format
AUSGABE-MODIFIKATOREN OUTPUT MODIFIERS
-H Zeigt die Prozess-Hierarchie (Wald)
-m Zeigt Threads
-n, N Setzt die Namelist-Datei
-w, w Breite Ausgabe
C Reine CPU-Zeit für %CPU anzeigen anstatt des Durchschnitts
O Sortierreihenfolge (überladen)
S,
--cumulative Daten von toten Kindern einbeziehen (als Summe zusammen mit den Eltern)
c tatsächlichen Befehlsnamen anzeigen
e Umgebung nach dem Befehl anzeigen
f, --forest Prozesshierarchie als ASCII-Kunst (Wald)
h keine Kopfzeilen (bzw. eine Kopfzeile pro Seite in BSD-Personalität)
m alle Threads
n Numerische Ausgabe von WCHAN und USER
--cols,
--columns,
--width Bildschirmbreite festlegen
--html HTML-Ausgabe
--headers Kopfzeilen wiederholen, eine pro Ausgabeseite
--no-headers print no header line at all
--lines,
--rows Bildschirmhöhe festlegen
--nul, --null,
--zero unausgerichtete Ausgabe mit NULs
--sort Sortierreihenfolge angeben
INFORMATIONEN
-V, V,
--version gibt die Version aus
L Alle Format-Bezeichner auflisten
--help Hilfetext ausgeben
--info Debuginformationen ausgeben
VERALTET
Die Option m sollte nicht verwendet werden. Benutzen Sie -m oder -o
zusammen mit einer Liste. (-m zeigt Informationen über den Speicher
an, zeigt Threads oder sortiert nach Speicherbedarf).
Die Option h ist problematisch. Das ps von BSD verwendet die Option,
um eine Kopfzeile auf jeder Ausgabe anzuzeigen, ältere Linux-Versionen
von ps verwenden diese Option, um Kopfzeilen komplett abzustellen.
Diese Version von ps folgt der Linux-Verwendung und zeigt keine
Kopfzeilen an, solange nicht BSD-Personalität eingeschaltet ist, in
welchem Fall Kopfzeilen auf jeder Seite ausgegeben werden. Unabhängig
von der aktuellen Personalität, dürfen Sie die langen Optionen --header
und --no-header verwenden, um Kopfzeilen ein- bzw. auszuschalten.
Terminals (ttys oder Bildschirme für textuelle Ausgaben) werden in ver-
schiedenen Arten angegeben: /dev/ttyS1, ttyS1, S1. Veraltete Syntax ps
t (das eigene Terminal) sowie ps t? (ohne Terminal arbeiten) werden
unterstützt, jedoch sollten stattdessen die moderneren Optionen (T, -t
mit Liste, x, t mit Liste) verwendet werden.
Die BSD-Option O kann sich wie -O verhalten (Benutzer-definiertes Aus-
gabeformat mit einigen üblichen Feldern vordefiniert) oder kann verwen-
det werden, um die Sortierreihenfolge anzugeben. Heuristiken werden
verwendet, um das Verhalten dieser Option zu bestimmen. Um sicherzuge-
hen, dass das gewünschte Verhalten ausgewählt wird, geben Sie die
andere Option (Sortieren oder Formatieren) auf eine andere Art an.
Bezüglich Sortierung, die Syntax der BSD-Option O ist
O[+|-]k1[,[+|-]k2[,...]]. Sortieren der Prozessliste wie in der
mehrstufigen Sortierung angegeben, die durch die Sequenz der Kürzel von
SORTIERSCHLÜSSEL k1, k2, ... angegeben wurde. Das `+' ist optional,
wiederholt lediglich die voreingestellte Reihenfolge der Schlüssel, dem
es vorangestellt ist. Das `-' dreht die Sortierreihenfolge des einen
Schlüssels um, dem es vorangestellt ist. Die Option O muss die letzte
Option in einem zusammengefassten Argument sein, aufeinanderfolgende
Argumente werden zusammengefasst.
Die GNU-Sortier-Syntax ist --sortX[+|-]key[,[+|-]key[,...]]. Wählen
Sie einen Schlüssel aus SORTIERSCHLÜSSEL aus, der aus mehreren Zeichen
besteht. X darf ein beliebiges Zeichen sein, das zur Trennung verwen-
det wird. Um GNU-ish zu bleiben, verwenden Sie `='. Das `+' ist wirk-
lich optional, da die voreingestellte Sortierrichtung aufsteigend ist,
numerisch oder lexikografisch. Beispiel: ps jax --sort=uid,-ppid,+pid
Dieses ps arbeitet, indem es die virtuellen Dateien in /proc liest.
Dieses ps muss daher nicht mehr suid kmem sein oder andere Privilegien
besitzen, um zu laufen. Geben Sie diesem ps keine speziellen Berechti-
gungen.
Dieses ps benötigt Zugriff auf eine Namensliste, um WCHAN vernünftig
darzustellen. Diese Liste muss genau zum aktuellen Linux-Kernel
passen.
die libc oder den Kernel korrigieren.)
Programme, die auf Platte ausgelagert sind, werden ohne Kommandozeile-
nargumente angezeigt, und, sofern nicht die Option c gegeben wurde,
auch in Klammern.
%CPU zeigt die prozentuale CPU-Zeit/Realzeit an. Die Summe wird nur
manchmal 100% ergeben. Es ist die verbrauchte Zeit, geteilt durch die
Zeit, die der Prozess am Laufen ist.
Die Felder SIZE und RSS zählen die Seiten-Tabellen und die task_struct
eines Prozesses nicht; es sind zumindest 12k Speicher, die immer resi-
dent sind. SIZE ist die virtuelle Größe des Prozesses
(Code+Daten+Stack).
Prozesse, die als <defunct> markiert sind, sind tote Prozesse (so
genannte "Zombies"), die zurückbleiben, da die Elternprozesse sie nicht
ordentlich zerstört haben. Diese Prozesse werden von init(8) zerstört,
wenn die Elternprozesse beendet werden.
PROZESS-FLAGS
ALIGNWARN 001 print alignment warning msgs
STARTING 002 being created
EXITING 004 getting shut down
PTRACED 010 set if ptrace (0) has been called
TRACESYS 020 tracing system calls
FORKNOEXEC 040 forked but didn't exec
SUPERPRIV 100 used super-user privileges
DUMPCORE 200 dumped core
SIGNALED 400 killed by a signal
PROZESS-STATUS-WERTE
D ununterbrechbarer Schlaf (normalerweise IO)
R laufend (in der run-Queue)
S schlafend
T verfolgt oder angehalten
Z disfunktional ("Zombie")
Für BSD-Formate und wenn das "stat"-Schlüsselwort benutzt wird, werden
zusätzliche Buchstaben angezeigt:
W hat keine resident Seiten
< Prozesse mit hoher Priorität
N Prozesse mit geringer Priorität
L hat gesperrte Seiten im Speicher (für Echtzeit und Benutzer-IO)
SORTIERSCHLÜSSEL
Beachten Sie, dass die Werte, die für die Sortierung verwendet werden,
interne Werte von ps sind und nicht die Werte, die letztendlich ausge-
K stime Systemzeit
m min_flt Anzahl kleiner Seiten-Fehler
M maj_flt Anzahl großer Seiten-Fehler
n cmin_flt Gesammelte kleine Seiten-Fehler
N cmaj_flt Gesammelte großer Seiten-Fehler
o session Session-ID
p pid Prozess-ID
P ppid Prozess-ID des Vaterprozesses
r rss resident set size
R resident residente Seiten
s size Speichergröße in Kilobytes
S share Anzahl der gemeinsam benutzten Seiten
t tty Untere Gerätenummer des tty's
T start_time Zeit, zu dem der Prozess gestartet wurde
U uid Benutzer-ID
u user Benutzername
v vsize Gesamtgröße des VM in Bytes
y priority Kernel-Scheduling-Priorität
AIX FORMAT-BESCHREIBUNGEN
Dieses ps unterstützt AIX-Format-Beschreibungen, die ähnlich wie die
Formatanweisungen von printf(1) und printf(3) funktionieren. Die vor-
eingestellte Ausgabe kann z.B. mit der folgenden Anweisung erzeugt wer-
den: ps -eo "%p %y %x %c"
CODE NORMAL HEADER
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U user USER
%a args COMMAND
%c comm COMMAND
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ
STANDARD FORMAT-BEZEICHNER
Diese dürfen dazu benutzt werden, um sowohl das Ausgabe-Format als auch
die Sortierung zu bestimmen. Beispiel: ps -eo pid,user,args --sort
user
CODE HEADER
dsiz DSIZ
egid EGID
egroup EGROUP
eip EIP
esp ESP
etime ELAPSED
euid EUID
euser EUSER
f F
fgid FGID
fgroup FGROUP
flag F
flags F
fname COMMAND
fsgid FSGID
fsgroup FSGROUP
fsuid FSUID
fsuser FSUSER
fuid FUID
fuser FUSER
gid GID
group GROUP
ignored IGNORED
intpri PRI
lim LIM
longtname TTY
lstart STARTED
m_drs DRS
m_trs TRS
maj_flt MAJFL
majflt MAJFLT
min_flt MINFL
minflt MINFLT
ni NI
nice NI
nwchan WCHAN
opri PRI
pagein PAGEIN
pcpu %CPU
pending PENDING
pgid PGID
pgrp PGRP
pid PID
pmem %MEM
ppid PPID
pri PRI
priority PRI
rgid RGID
rgroup RGROUP
rss RSS
rssize RSS
sig_ignore IGNORED
sig_pend SIGNAL
sigcatch CAUGHT
sigignore IGNORED
sigmask BLOCKED
stackp STACKP
start STARTED
start_stack STACKP
start_time START
stat STAT
state S
stime STIME
suid SUID
suser SUSER
svgid SVGID
svgroup SVGROUP
svuid SVUID
svuser SVUSER
sz SZ
time TIME
timeout TMOUT
tmout TMOUT
tname TTY
tpgid TPGID
trs TRS
trss TRSS
tsiz TSIZ
tt TT
tty TT
tty4 TTY
tty8 TTY
ucmd CMD
ucomm COMMAND
uid UID
uid_hack UID
uname USER
user USER
vsize VSZ
vsz VSZ
wchan WCHAN
UMGEBUNGSVARIABLEN
Die folgenden Umgebungsvariablen beeinflussen ps:
COLUMNS Überschreibt die voreingestellte Bildschirmbreite
LINES Überschreibt die voreingestellte Bildschirmhöhe
PS_PERSONALITY Eines von posix,old,linux,bsd,sun,digital...
CMD_ENV Eines von posix,old,linux,bsd,sun,digital...
I_WANT_A_BROKEN_PS Erzwingt veraltete Kommandozeilenoptionen
PERSONALITÄT
aix wie AIX ps
bsd wie FreeBSD ps (absolut non-standard)
compaq wie Digital Unix ps
debian wie das alte Debian ps
digital wie Digital Unix ps
gnu wie das alte Debian ps
hp wie HP-UX ps
hpux wie HP-UX ps
irix wie Irix ps
linux ***** EMPFOHLEN *****
old wie die anderen original Linux ps (absolut non-standard)
posix standard
sco wie SCO ps
sgi wie Irix ps
sun wie SunOS 4 ps (absolut
sunos wie SunOS 4 ps (absolut
sysv standard
unix standard
unix95 standard
unix98 standard
BEISPIELE
Alle Prozesse auf dem System anzeigen mit der Standard-Syntax:
ps -e
Alle Prozesse auf dem System anzeigen mit der BSD-Syntax:
ps ax
Alle Prozesse anzeigen bis auf diejenigen, die als root laufen (reale
und tatsächliche ID):
ps -U root -u root -N
Alle Prozesse mit einem benutzerdefinierten Format anzeigen:
ps -eo pid,tt,user,fname,tmout,f,wchan
Ungewohnte Ausgabe mit AIX-Feldbeschreibungen:
ps -o "%u : %U : %p : %a"
Nur die Prozess-ID vom syslogd ausgeben:
ps -C syslogd -o pid=
KONFORM ZU
Dieses ps ist konform zu Version 3 der Single Unix Specification.
AUTOR
ps wurde ursprünglich von Branko Lankester <lankeste@fwi.uva.nl>
geschrieben. Michael K. Johnson <johnsonm@redhat.com> hat es sig-
nifikant neuimplementiert, um das /proc-Dateisystem zu unterstützen.
Michael Shields <mjshield@nyx.cs.du.edu> ergänzte die PID-Listen.
Charles Blake <cblake@bbn.com> ergänzte mehrstufige Sortierung, die
Linux July 5, 1998 PS(1)
Man(1) output converted for
Linux installieren!