ps(1) Handbuchseite ps(1)
Bezeichnung:
ps – (process status) zeigt die Prozesse mit ihrem Status an
Syntax:
ps [acefhjlmnrsuxS] [-t xx]
Beschreibung:
Mit ps lassen sich Daten über die Prozesse in der Prozeßtabelle anzeigen. Die Prozeßtabelle wird mit einer Titelzeile ausgegeben. Die Spalten haben folgende Bedeutung:
PID Die Process-ID des Prozesses
PPID Die Parent Process ID des Prozesses
UID Die User ID des Users, dem der Prozeß gehör
USER Der Username des Users, dem der Prozeß geh
PRI Die Priorität des Prozesses. Höhere Werte b höhere Priorität.
NI Der Nice-Wert des Prozesses. Höhere Werte be geringere Priorität.
SIZE Die Größe des Codes plus Daten plus Stack KiloByte
TSIZE Die Größe des Codes in KiloByte. ELF Proz werden nicht korrekt dargestellt
DSIZE Die Größe der Daten und Stack in Kilobyte Prozesse werden nicht korrekt dargestellt
TRS Text Resident Size – Die größe des resident Code-Blocks in KiloByte
SWAP Größe des ausgelagerten Bereichs des Tasks
D Größe der als Dirty markierten Speicherseiten
LIB Größe der Library-Speicherseiten – Funktion nicht bei ELF-Prozessen.
RSS Die Größe des physikalische Speichers, den das Programm benutzt. Für ELF-Format werden hier auch die Libraries mitgezählt, bei a.out Format nicht.
SHARE Die Größe der benutzten Shared-Libraries des Prozesses.
STAT Der Status des Prozesses. Das kann entweder ein S für schlafend, D für ununterbrechbar schlafend (dead), R für laufend (running) oder T für angehalten (traced). Dieser Angabe kann noch ein < für einen negativen Nice-Wert, ein N für einen positiven Nice-Wert oder ein W für einen ausgelagerten Prozeß folgen. (Das W funktioniert nicht richtig für Kernel-Prozesse)
WCHAN Die Kernelfunktion, die der Task gerade nutzt.
TIME Die gesamte CPU-Zeit, die der Prozeß verbraucht hat, seit er gestartet wurde.
%CPU Die CPU-Zeit, die der Prozeß seit dem letzten Bildschirm-Update verbraucht hat, dargestellt als Prozentsatz der gesamten CPU-Zeit.
%MEM Der Anteil des Speichers, den der Task nutzt.
COMMAND Das Kommando, mit dem der Prozeß gestartet wurde.
TTY Die Terminalleitung des Prozesses.
Es gibt zwei unterschiedliche Versionen von ps. Die eine greift direkt auf den Kernelspeicher zu, aus dem sie die Prozeßtabelle ausliest. Dazu braucht ps die Datei /etc/psdatabase, in der die Speicheradressen für die entsprechenden Kernelvariablen abgelegt sind. Diese Datei muß für jeden Kernel mit dem Kommando ps -U neu erzeugt werden. Bei größeren Veränderungen am Kernel (in der Regel bei neuen Kernelversionen) wird auch ein Neuübersetzen von ps notwendig. Diese Version ist nicht mehr aktuell und wird unter Linux nicht mehr benutzt.

Das neuere ps hat die gleiche Funktionalität und auch fast die gleichen Optionen, es arbeitet aber mit dem Prozeßdateisystem unter /proc. Dieses Dateisystem enthält Verzeichnisse für alle Prozesse des Systems, in deren Unterverzeichnissen und Dateien alle für ps interessanten Daten zu finden sind. Das ps Kommando bereitet diese Daten auf und zeigt sie dem Anwender in genau der gleichen Weise an wie die andere Version. Der Vorteil der Methode mit dem Prozeßdateisystem besteht in der Unabhängigkeit von der Kernelversion.

Optionen:
a
zeigt die Prozesse aller User
c
zeigt nur den Namen des Kommandos statt dem ganzen Pfad
e
zeigt die Prozeßumgebung (enviroment)
h
unterdrückt die Kopfzeile
j
jobs Format: PGID und SID
l
langes Format: FLAGS WCHAN NICE PRIO
m
zeigt Speichernutzung
X
zeigt EIP ESP TIMEOUT und ALARM
n
gibt numerische Werte für USER und WCHAN
r
zeigt nur die laufenden Prozesse
s
zeigt die Signale
u
zeigt die Besitzer der Prozesse
f
zeigt die Prozeßbaumstruktur
x
zeigt Prozesse, die von keinem Terminal kontrolliert werden
S
addiert die Prozessorzeit der Kindprozesse zu den Eltern
-t xx
zeigt nur die Prozesse die von Terminal xx kontrolliert werden
Quelle: Linux-Anwenderhandbuch