Ps und pstree
Dieser Artikel beschreibt den Verwendungszweck der Unix-Tools ps und pstree. Darüber hinaus werden die wichtigsten Optionen vorgestellt sowie deren Funktion erläutert.
Information
ps (process status) ist ein Unix-Kommando, welches eine Übersicht über alle am System laufenden Prozesse und deren Status anzeigt. pstree (process tree) stellt die Hierarchie der Prozesse graphisch in einer Baum-Topologie dar. Ein vergleichbares Tool unter Windows wäre tasklist.exe.
Installation
Die Programme ps und pstree sind normalerweise in den Standardinstallationen der verschiedenen Linux-Distributionen enthalten. Ansonsten können sie über folgende Pakete installiert werden:
procps für ps
psmisc für pstree
Bedeutung der ausgegebenen Spalten
- UID = ID des Users, der diesen Prozess gestartet hat
- PID = eindeutige Prozess-ID
- STIME = Zeitpunkt an dem der Prozess gestartet wurde
- TTY = gibt das Terminal an, auf dem der Prozess läuft
- TIME = gesamte, vom Prozess beanspruchte Systemzeit
- CMD = Name des Programms, welches diesen Prozess gestartet hat
Beispiele für Bildschirmausgaben
- Ausgabe von ps ohne Optionen:
benutzer:~$ ps PID TTY TIME CMD 2897 pts/1 00:00:00 bash 2914 pts/1 00:00:00 ps
- Ausgabe von pstree:
benutzer:~$ pstree init─┬─/usr/lib/glippe ├─NetworkManager─┬─dhclient │ └─{NetworkManager} ├─acpid ├─atd ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─bonobo-activati───{bonobo-activat} ├─clock-applet ├─console-kit-dae───63*[{console-kit-da}] ├─cron [...]
Wichtige Optionen und deren Funktion
Alle nachfolgend aufgezeigten Optionen lassen sich miteinander komibinieren, um so die Ausgabe auf das Notwendige zu beschränken bzw. zu erweitern!
- Auflistung aller Prozesse
ps -e
- Anzeigen erweiterter Informationen
ps -f
Beispiel:
benutzer:~$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:09 ? 00:00:01 /sbin/init root 2 0 0 08:09 ? 00:00:00 [kthreadd] root 3 2 0 08:09 ? 00:00:00 [migration/0] root 4 2 0 08:09 ? 00:00:00 [ksoftirqd/0] root 5 2 0 08:09 ? 00:00:00 [watchdog/0] root 6 2 0 08:09 ? 00:00:00 [migration/1] root 7 2 0 08:09 ? 00:00:00 [ksoftirqd/1] root 8 2 0 08:09 ? 00:00:00 [watchdog/1] root 9 2 0 08:09 ? 00:00:00 [migration/2] root 10 2 0 08:09 ? 00:00:00 [ksoftirqd/2] root 11 2 0 08:09 ? 00:00:00 [watchdog/2] root 12 2 0 08:09 ? 00:00:00 [migration/3] root 13 2 0 08:09 ? 00:00:00 [ksoftirqd/3] root 14 2 0 08:09 ? 00:00:00 [watchdog/3] root 15 2 0 08:09 ? 00:00:00 [events/0] [...]
- Anzeigen der Prozess-Status
ps -x
- Reduzieren der Liste auf laufende Prozesse
ps r
Ausgabe aller laufenden Prozesse mit erweiterten Informationen
ps -ef
Ausgabe der Memory Belegung je Prozess
ps aux --sort -rss
Anmerkung: rss steht für resident set size - hier der Auszug aus der ps Manpage:
- resident set size, the non-swapped physical memory that a task has used (inkiloBytes)
Graphische Darstellung der Prozess-Hierarchie
- Einfache Struktur:
ps axjf
- Schönere Darstellung:
pstree