ps(1-ucb) (BSD Compatibility Package) ps(1-ucb)
NAME
ps - Den aktuellen Prozeßstatus anzeigen
SYNTAX
/usr/ucb/ps [-acglnrSuUvwx] [-tterm] [num]
BESCHREIBUNG
Das Kommando ps zeigt Informationen über Prozesse an. Normalerweise
werden nur die Prozesse angezeigt, die mit Ihrer effektiven Benutzer-
ID ausgeführt werden und die mit einem Steuerungsterminal [siehe
termio(7)] verbunden sind. Mit Hilfe verschiedener Optionen können der
Anzeige zusätzliche Prozeßkategorien hinzugefügt werden. Mit der
Option -a können Sie z. B. auch die Prozesse eines beliebigen Eigentü-
mers ausgeben (d. h. Prozesse, die nicht Ihre Benutzer-ID haben), und
mit der Option -x können Sie auch Prozesse ohne Steuerungsterminals
ausgeben. Wenn Sie sowohl -a als auch -x angeben, können Sie Prozesse
eines beliebigen Eigentümers abrufen, die über ein Steuerungsterminal
verfügen oder auch nicht. Bei Angabe der Option -r werden nur noch die
derzeit ausgeführten und ausführbaren Prozesse in einer Liste
gedruckt.
ps zeigt die Prozeß-ID unter PID und das Steuerungsterminal (falls
vorhanden) unter TT an. Die vom Prozeß bisher benötigte CPU-Zeit, ein-
schließlich der Benutzer- und der Systemzeit, werden unter TIME, der
Prozeßstatus wird unter S angezeigt. Das gerade ausgeführte Kommando
wird ebenfalls angegeben.
Der Status wird durch einen der folgenden Buchstaben angegeben:
O Prozeß wird derzeit in einem Prozessor ausgeführt (running).
S Angehalten (sleeping). Prozeß wartet auf ein Ereignis, um zu
beenden.
R Ausführbar (runnable). Prozeß befindet sich in Ablaufwarte-
schlange.
I Leerlauf (idle). Prozeß wird erstellt.
Z Zombie-Status (zombie state). Prozeß beendet, Vaterprozeß ist
jedoch nicht mehr vorhanden.
T Verfolgt (traced). Prozeß durch ein Signal gestoppt, da er vom
Vaterprozeß verfolgt wird.
X SXBRK-Status. Prozeß wartet auf mehr primären Speicherplatz.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ps(1-ucb) (BSD Compatibility Package) ps(1-ucb)
OPTIONEN
Die folgenden Optionen müssen kombiniert werden, um das erste Argument
zu bilden:
-a Informationen über Prozesse anderer Eigentümer ausgeben.
-c Nicht die Kommandoargumente, die im Adreßbereich des Prozesses
gespeichert werden, sondern den Kommandonamen anzeigen, wie er
intern im System zu Accounting-Zwecken gespeichert ist. Dies ist
zwar weniger informativ, jedoch verläßlicher, da der Prozeß die
Informationen zu Kommandoargumenten zerstören kann.
-g Alle Prozesse anzeigen. Wird diese Option nicht angegeben, druckt
ps nur Prozesse von Interesse. Prozesse werden als nicht von
Interesse angesehen, wenn es sich bei ihnen um Prozeßgruppenlei-
ter handelt. Normalerweise werden hierdurch Kommandointerpreter
der oberen Ebene sowie Prozesse ignoriert, die auf eine Anmeldung
von Benutzern auf freien Terminals warten.
-l Ausführliche Listen mit den unten beschriebenen Feldern F, PPID,
CP, PRI, NI, SZ, RSS und WCHAN anzeigen.
-n Numerische Ausgabe für einige Felder erstellen. In einer Benut-
zerliste wird das Feld USER durch ein Feld UID ersetzt.
-r Ausgabe auf derzeit ausgeführte (running) und ausführbare (runn-
able) Prozesse beschränken.
-S Angehäufte CPU-Zeit anzeigen, die von diesem Prozeß sowie von
allen seinen ausgeführten Sohnprozessen verwendet wird.
-u Benutzerorientierte Ausgabe anzeigen. Dies schließt die unten
beschriebenen Felder USER, SZ, RSS und START ein.
-U Eine private Datenbank aktualisieren, in der ps Systemdaten spei-
chert (nur Systemverwalter).
-v Angaben zum virtuellen Speicher ausgeben. Dies schließt die unten
beschriebenen Felder SIZE und RSS ein.
-w Ein breites Ausgabeformat (statt 80 Spalten 132 Spalten) verwen-
den. Falls diese Option wiederholt wird, also -ww angegeben wird,
willkührliche Breite verwenden. Mit Hilfe dieser Informationen
wird festgelegt, wieviel von langen Befehlen gedruckt werden
soll.
-x Prozesse ohne Steuerungsterminal einschließen.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
ps(1-ucb) (BSD Compatibility Package) ps(1-ucb)
-tterm
Nur die dem Terminal term zugeordneten Prozeßdaten auflisten.
Terminal-IDs können auf eine der beiden folgenden Arten angegeben
werden: mit dem Gerätedateinamen (z. B. tty04 oder term/14) oder,
falls der Gerätedateinamen mit tty beginnt, nur mit der Ziffern-
ID (z. B. 04).
num Es kann eine Prozeßnummer angegeben werden. In diesem Fall wird
die Ausgabe auf diesen Prozeß beschränkt. Diese Option muß als
letzte angegeben werden.
ANZEIGEFORMATE
Folgende Felder sind nicht bei allen Ausgabeformaten verfügbar:
USER Name des Eigentümers des Prozesses.
NI Prozeßpriorität [siehe getpriority(3) und nice(3C)].
SIZE
SZ Die kombinierte Größe von Daten- und Stack-Segmenten (in
KB).
RSS Größe des realen Speichers (resident eingestellt) des Pro-
zesses (in KB).
UID Numerische Benutzer-ID des Prozeßeigentümers.
PPID Numerische ID des Vaterprozesses.
CP Kurzfristiger CPU-Verwendungsfaktor (bei Scheduling ver-
wendet).
PRI Die Prozeßpriorität (höhere Nummern bedeuten eine niedri-
gere Priorität).
START Die Startzeit des Prozesses, angegeben in Stunden, Minuten
und Sekunden. Ein Prozeß, der mehr als 24 Stunden vor der
Ausführung der ps-Abfrage gestartet wurde, wird in Monaten
und Tagen angegeben.
WCHAN Die Adresse eines Ereignisses, auf das der Prozeß wartet
oder sich im Status SXBRK befindet (falls leer, wird der
Prozeß ausgeführt).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
ps(1-ucb) (BSD Compatibility Package) ps(1-ucb)
F Flags (hexadezimal und additiv), die diesem Prozeß
zugeordnet sind:
00 Prozeß wurde beendet. Prozeßtabelle nun verfügbar.
01 Ein Systemprozeß, immer im primärem Speicher.
02 Vater verfolgt Prozeß.
04 Das Signal des den Prozeß verfolgenden Vaters stoppte
den Prozeß. Der Vater wartet, siehe ptrace(2).
08 Prozeß befindet sich momentan in primären Speicher.
10 Prozeß, der sich momentan im primären Speicher befin-
det, ist bis zum Ende des Ereignisses gesperrt.
Ein Prozeß, der beendet wurde und einen Vaterprozeß hat, der den Ende-
status dieses Prozesses noch nicht abgerufen hat, wird mit <defunct>
markiert. Andernfalls versucht ps durch Prüfen des Benutzerblocks den
Kommandonamen und die Argumente festzustellen, die bei der Prozeßer-
stellung angegeben wurden.
HINWEISE
Bei der Ausführung von ps können Änderungen auftreten. Die Beschrei-
bung hier ist nur Annäherung an den aktuellen Status. Einige Daten,
die als defunct markierte Prozesse ausgegeben werden, sind irrelevant.
Wenn weder term noch num angegeben wird, prüft ps zuerst die
Standard-Eingabe, dann die Standard-Ausgabe und anschließend die
Standard-Fehlerausgabe und sucht dabei das Steuerungsterminal und ver-
sucht über Prozesse zu berichten, die dem Steuerungsterminal zugeord-
net sind. Wenn die Standard-Eingabe, die Standard-Ausgabe sowie die
Standard-Fehlerausgabe umgeleitet werden, findet ps kein Steuerungs-
terminal, so daß auch kein Bericht ausgegeben wird.
Bei einem stark ausgelasteten System, gibt ps möglicherweise einen
Fehler lseek(2) aus und wird abgebrochen. ps findet möglicherweise
eine ungültige Benutzerbereichsadresse, und nachdem das Kommando die
Adresse des Benutzerbereichs des Prozesses erhalten hat, kann ps mög-
licherweise diese Adresse nicht finden, bevor der Prozeß beendet und
die Adresse ungültig wird.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
ps(1-ucb) (BSD Compatibility Package) ps(1-ucb)
DATEIEN
/dev
/dev/sxt/*
/dev/tty*
/dev/xt/*
Dateien zum Suchen von Terminalnamen (tty)
/dev/kmem
Virtueller Speicher des Kerns
/dev/swap
Standardauslagerungsgerät
/dev/mem
Speicher
/etc/passwd
Bereitstellen von Informationen zur Benutzer-ID
/etc/psdata
Interne Datenstruktur
SIEHE AUCH
kill(1), whodo(1M), lseek(2), getpriority(3), nice(3C).
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98