Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ps - Prozessdaten abfragen

&pagelevel(4)&pagelevel

(report process status)


ps gibt Informationen über Prozesse aus. Dabei wird eine Momentaufnahme über den Zustand des Systems bzw. der Prozesse ausgegeben, der nach dem Bruchteil einer Sekunde schon wieder überholt sein kann und daher zum Zeitpunkt der Ausgabe nicht mehr den wahren Zustand widerspiegelt.


Syntax


ps[ -aAcdeflj][ -g grplist][ -G grplist][ -n namelist][ -o format]...
  [ -p proclist][ -s sesslist][ -t termlist][ -T][ -u userlist][ -U userlist]

Keine Option angegeben

ps gibt Informationen über Prozesse aus, die mit der kontrollierenden Datensichtstation verbunden sind. Die Ausgabe besteht aus einer kurzen Auflistung

  • der Prozessnummer PID

  • der Nummer der Datensichtstation TTY

  • der gesamten Ausführzeit TIME

  • des Kommandonamens COMD

Die Bedeutung der Ausgabespalten ist im Abschnitt Ausgabe genauer erläutert.


-a

Es werden Informationen über die mit einer Datensichtstation verbundenen Prozesse ausgegeben, wobei jedoch Prozessgruppenführer nicht berücksichtigt werden.

-A

Es werden Informationen über die eigenen Prozesse ausgegeben. Diese Option ist äquivalent zur Option -e.
Der POSIX-Verwalter erhält Informationen über alle Prozesse.

-c

Es werden zusätzlich Informationen über die Klasse und die Priorität der Prozesse ausgegeben.

-d

Neben Informationen über die mit einer Datensichtstation verbundenen Prozesse, werden auch Informationen über Prozesse ausgegeben, die nicht mit einer Datensichtstation verbunden sind. Prozessgruppenführer werden jedoch nicht berücksichtigt.

-e

Es werden Informationen über die eigenen Prozesse ausgegeben. Diese Option ist äquivalent zur Option -A.

BS2000:
Nur der POSIX-Verwalter erhält Informationen über alle Prozesse.
Sollen auch andere Benutzer Informationen über alle Prozesse erhalten, muss der POSIX-Verwalter für die Datei /sbin/ps nach der Intallation von POSIX-BC das s-Bit setzen (Kommando: chmod +s /sbin/ps).

-f

(f - full list)

Der Umfang an Informationen zu den einzelnen Prozessen wird erweitert. Welche Ausgabespalten zur Ausgabe der Option -f gehören, ist im Abschnitt Ausgabe näher erläutert.
Ist -f angegeben, so gibt ps den Kommandonamen und seine Argumente aus. Die Argumente eines Prozesses werden jedoch nur angezeigt, wenn der Prozess demjenigen gehört, der ps aufgerufen hat bzw. wenn ps vom POSIX-Verwalter aufgerufen wird.

Enthält der Kommandoname eines Prozesses nichtdruckbare Zeichen, so wird der Kommandoname in eckige Klammern [ ] eingeschlossen. Wird die Option -f ohne weitere Optionen angegeben, so beziehen sich die Informationen auf Prozesse, die mit der kontrollierenden Datensichtstation verbunden sind.

-g grplist

Es werden nur Informationen über Prozesse ausgegeben, deren Prozessgruppenführer in grplist angegeben werden.

grplist ist eine Liste der Prozessnummern von Prozessgruppenführern. grplist hat folgendes Format:

Die Nummern werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Nummern dann durch Komma und/oder Leerzeichen getrennt werden können.

-G grplist

Es werden nur Informationen über Prozesse ausgegeben, deren reale Prozessgruppenführer in grplist angegeben werden.

grplist ist eine Liste der Prozessnummern von Prozessgruppenführern. grplist hat folgendes Format:

Die Nummern werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Nummern dann durch Komma und/oder Leerzeichen getrennt werden können.

-j

Es werden zusätzlich die Kennummer der Sitzung und Kennummer der Prozessgruppe ausgegeben.

-l

(l - long list)

Es werden umfassende Informationen zu den einzelnen Prozessen ausgegeben. Welche Ausgabespalten zur Ausgabe der Option -l gehören, ist im Abschnitt Ausgabe näher erläutert. Wird die Option -l ohne weitere Optionen angegeben, so beziehen sich die Informationen auf Prozesse, die mit der kontrollierenden Datensichtstation verbunden sind.

-n namelist

Es wird die bei namelist angegebene Systemdatei anstelle der Standarddatei verwendet.

-o format

Gibt die Informationen gemäß den bei format angegebenen Definitionen aus (siehe Abschnitt „Benutzerformatierte Ausgabe“).

-p proclist

Es werden nur Informationen zu Prozessen ausgegeben, deren Prozessnummern in proclist angegeben sind.

proclist ist eine Liste von Prozessnummern.

Die Nummern werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Nummern dann durch Komma und/oder Leerzeichen getrennt werden können.

-s sesslist

Es werden nur Informationen über Prozesse ausgegeben, die zu einer in sesslist angegeben Sitzung gehören.

sesslist ist eine Liste von Sitzungs-Kennummern. sesslist hat folgendes Format:

Die Nummern werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Nummern dann durch Komma und/oder Leerzeichen getrennt werden können.

-t termlist

Es werden nur Informationen über Prozesse ausgegeben, die mit den in termlist genannten Datensichtstationen verbunden sind.

termlist ist eine Liste von Datensichtstationen. Die Datensichtstationen können auf zwei Arten angegeben werden: entweder mit ihrem Gerätenamen (z.B. term/tty004) oder, falls der Gerätename aus einer Zusammensetzung mit tty besteht, nur mit der Nummer (z.B. 004).

Die Angaben zu den Datensichtstationen werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Einträge dann durch Komma und/oder Leerzeichen getrennt werden können.

-T

Es wird zusätzlich die BS2000-TSN der Prozesse ausgegeben. -T kann zusammen mit anderen Optionen angegeben werden, -T wirkt bei allen Optionen außer der Option -o.

-u userlist

Es werden nur Informationen über Prozesse ausgegeben, deren Prozesseigentümer in userlist angegeben sind.

userlist ist eine Liste von Benutzernummern bzw. Benutzerkennungen.

Die Angaben in userlist werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Einträge dann durch Komma und/oder Leerzeichen getrennt werden können.

-U userlist

Es werden nur Informationen über Prozesse ausgegeben, deren reale Prozesseigentümer in userlist angegeben sind.

userlist ist eine Liste von Benutzernummern bzw. Benutzerkennungen.

Die Angaben in userlist werden durch ein Komma getrennt, oder die Liste wird in Anführungszeichen eingeschlossen "...", wobei die Einträge dann durch Komma und/oder Leerzeichen getrennt werden können.


 Standard-Ausgabe (stdout)

Im Folgenden werden die Überschriften und die Bedeutung der Spalten in der Ausgabe von ps erläutert, wenn nicht die Option -o gesetzt ist. Die Buchstaben in Klammern bezeichnen die Option, bei der die entsprechende Spalte in der Ausgabe erscheint. Die Angabe alle bedeutet, dass die Spalte bei allen Optionen erscheint. Beachten Sie bitte, dass Sie mit den Optionen -c, -j, -f und -l nur bestimmen, welche Informationen Sie zu einem Prozess erhalten, nicht aber zu welchem Prozess.

F (l)

Flags des Prozesses (hexadezimal und additiv). Die Flags sind maschinenabhängig und werden deshalb hier nicht angegeben.

S (l)

Status des Prozesses.

0: Prozess wird gerade ausgeführt

S: Sleeping:

Prozess schläft, wartet auf ein Ereignis

R: Runnable:

Prozess ist ablaufbereit

I: Idle:

Prozess ist im Entstehen

Z: Zombie-Status:

Prozess ist beendet, der Endestatus wurde aber vom Vaterprozess noch nicht durch einen wait()-Systemaufruf abgefragt

T: Traced:

Ein überwachter Prozess ist gestoppt

X: SXBRK-Status:

Prozess wartet auf mehr Speicherplatz

UID ( f, l)

(UID - user ID)

Benutzernummer des Prozesseigentümers. Wenn die Option -f gesetzt ist, wird statt der UID die Benutzerkennung ausgegeben.

Es werden nur die ersten 7 Zeichen der Benutzerkennung ausgegeben.

PID (alle)

(PID - process ID)

Prozessnummer. Jeder Prozess erhält zum Zeitpunkt seiner Erzeugung eine eindeutig bestimmte Prozessnummer. Unter dieser Nummer kann z.B. der Prozess mit kill beendet werden.

TSN (T)

(TSN - task sequence number)

BS2000-TSN des Prozesses.

PPID ( f, l)

(PPID - parent process ID)

Prozessnummer des Vaterprozesses.

PGID (j)

(PGID - process group ID)

Kennummer der Prozessgruppe.

SID (j)

(SID - session ID)

Kennummer der Sitzung.

C ( f, l)

Prozessor-Auslastung für das Scheduling.

CLS (c)

Scheduling-Gruppe (Prozesse, die im Zeitscheibenverfahren verarbeitet werden).

PRI (l,c)

Prioritätswert des Prozesses. Höhere Zahlen bedeuten normalerweise niedrigere Priorität. Wurde jedoch -c angegeben, so bedeuten höhere Zahlen höhere Priorität.

NI (l)

Wert, mit dem die Prozess-Priorität verändert wurde (siehe nice). Nur Prozesse der Klasse time-sharing haben einen solchen Wert.

ADDR (l)

Adresse (physikalische Seiten-Frame-Nummer) des Benutzerbereichs, falls resident, andernfalls die Plattenadresse des ausgelagerten Prozesses.

SZ (l)

Die Größe des Speicherabbildes (core-image) des Prozesses in Blocks.

WCHAN (l)

Adresse des Ereignisses, auf das der Prozess wartet. Wenn die Spalte leer ist, läuft der Prozess.

STIME ( f)

Startzeit des Prozesses. Innerhalb der ersten 24 Stunden wird die Uhrzeit ausgegeben, danach das Datum.

TTY (alle)

Die kontrollierende Datensichtstation des Prozesses. Falls der Prozess nicht von einer Datensichtstation kontrolliert wird, wird ein Fragezeichen ? ausgegeben.

TIME (alle)

Gesamte Ausführungszeit des Prozesses in Minuten und Sekunden.

COMD (alle)

Der Name des Kommandos. Wenn die Option -f gesetzt ist, wird der vollständige Kommandoname ausgegeben.

Prozesse, die bereits beendet sind, deren Endestatus aber von von ihrem Vaterprozess noch nicht durch einen wait()-Systemaufruf abgefragt wurde, werden als <defunct> gekennzeichnet.


Wenn termlist, proclist, userlist oder grplist nicht angegeben wurde, überprüft ps die Standard-Ein-/Ausgabe sowie die Standard-Fehlerausgabe in dieser Reihenfolge, um die kontrollierende Datensichtstation zu ermitteln. Es werden dann Informationen zu allen Prozessen ausgegeben, die von dieser Datensichtstation kontrolliert werden. Falls diese drei Kanäle umgeleitet wurden, findet ps keine kontrollierende Datensichtstation und gibt daher auch keine Information aus.

Benutzerformatierte Ausgabe

Mit der Option -o format bestimmen Sie sich ihre eigene Ausgabe (siehe auch Beispiel 2). format ist eine Liste von Variablen, die als einzelnes Argument, oder mit Komma oder Blank voneinander getrennt, eingegeben wird.

Jede Variable hat einen Standardheader. Der Standardheader kann umbenannt werden, d.h. einen neuen Headertext durch Anfügen von Gleichheitszeichen „=“ und den neuen Namen erhalten.

Die in format angegebenen Variablen werden nebeneinander auf die Standardausgabe geschrieben. Die einzelnen Feldbreiten sind dabei abhängig von der Länge der Standardheader. Ist der Text eines Headers null, z.B. -o user=, wird mindestens die Breite des Standardheaders verwendet.

Folgende Variablen können in format angegeben werden, den Variablen wird der in Klammern angegebene Standardheader zugeordnet, wenn nicht anders über -o angegeben.:

ruser (RUSER)

die reelle Benutzerkennung des Prozesses. Wenn sie ermittelt werden kann und die Feldbreite es erlaubt, wird sie textartig dargestellt, sonst dezimal.

user (USER)

die effektive Benutzerkennung des Prozesses. Wenn sie ermittelt werden kann und die Feldbreite es erlaubt, wird sie textartig dargestellt, sonst dezimal.

rgroup (RGROUP)

die reelle Gruppenkennung des Prozesses. Wenn sie ermittelt werden kann und die Feldbreite es erlaubt, wird sie textartig dargestellt, sonst dezimal.

group (GROUP)

die effektive Gruppenkennung des Prozesses. Wenn sie ermittelt werden kann und die Feldbreite es erlaubt, wird sie textartig dargestellt, sonst dezimal.

pid (PID)

der Dezimalwert der Prozessnummer (process id)

ppid (PPID)

der Dezimalwert der Vaterprozessnummer (parent process id)

pgid (PGID)

der Dezimalwert der Prozessgruppennummer (process group id)

pcpu (%CPU)

der Prozentwert der verbrauchten CPU-Zeit

vsz (VSZ)

der Dezimalwert des Speicherbedarfs des Prozesses, in Kilobyte

nice (NI)

der Dezimalwert der System Scheduling Priorität

etime (ELAPSED)

Zeit, seit der der Prozess läuft, angegeben in [[dd-]hh:]mm:ss

time (TIME)

Zeit, den den gesammelten CPU-Verbrauch für den Prozess angibt

tty (TT)

Name des Terminals, auf dem der Prozess läuft

comm (COMMAND)

Name des Kommandos, das ausgeführt wird, in textartiger Form (es können auch Leerzeichen enthalten sein)

args (COMMAND)

Kommando mit allen Argumenten, in textartiger Form (es können auch Leerzeichen
enthalten sein)

tsn (TSN)

BS2000-TSN des Prozesses

Variable

COLUMNS

Wenn diese Variable gesetzt ist, dann wird ihr Wert für die Definition der Breite des Editierfensters beim Editiermodus der POSIX-Shell und für die Ausgabe der select-Liste verwendet.
Diese Variable ist sinnvoll, wenn der Zugang zur POSIX-Shell über rlogin erfolgt.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos ps:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_COLLATE

Beeinflusst die Sortierreihenfolge.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

LC_TIME

Bestimmt das Format der Zeitangaben bei Verwendung der Option -f.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel 1

Durch einen Aufruf von ps mit der Option -l wird eine ausführliche Liste über alle laufenden Prozesse auf der kontrollierenden Datensichtstation ausgegeben:

$ ps -l
 F S   UID   PID  PPID  C PRI NI     ADDR     SZ    WCHAN TTY     TIME COMD
10 S   110  1455  1453  0  30 20 c0fec9d8     23 d114f200 tty004  0:02 sh
10 O   110  1862  1455 12  50 20 c0fec870     60          tty004  0:00 ps
18 S   110  1858  1455 10  20 20 c0fecaf8     55 d115f280 tty004  1:03 find

Jetzt soll das find-Kommando durch einen Aufruf von kill mit Angabe der in der Spalte PID angezeigten Prozessnummer abgebrochen werden. Ein erneuter Aufruf von ps zeigt anschließend, dass der betreffende Prozess nicht mehr existiert.

$ kill 1858
$ ps
   PID TTY      TIME COMD
  1455 tty004   0:02 sh
  1873 tty004   0:00 ps
1858 Terminated

Beispiel 2

Benutzerformatierte Ausgabe des ps-Kommandos: Ausgabe von USER, PID, PPID (soll den neuen Namen FATHER erhalten) und Ausgabe der Argumente.

$ ps -o user,pid,ppid=FATHER -o args
   USER   PID  FATHER COMMAND
 HELENE    62       0 [sh]
 HELENE   122      62 [ps]

Beispiel 3

Es soll die nur BS2000-TSN der aktuellen Shell (ohne Überschrift) ausgegeben werden.

$ ps -o tsn= -p $$

7R6C

Zum Vergleich:

$ ps -T
   PID  TSN TTY        TIME  CMD
   180 7R69 term/002   0:00  ps
   148 7R6C term/002   0:11  sh

Siehe auch

kill, nice