Ps und pstree

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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 

Das könnte Sie auch interessieren

Intel Management Engine Interface mei Linux Treiber
Linux Pipe Viewer (pv)
Wiederherstellung auf einen kleineren Zieldatenträger mit Clonezilla