pstree
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
pstree steht für Process Tree. pstree stellt alle aktuell laufenden Prozesse in einer übersichtlichen Baumstruktur da. pstree erfüllt die gleichen Aufgaben wie ps, liefert aber im Vergleich hierzu eine besser lesbare (und damit in der Regel verständlichere) Ausgabe.
Mit dem Befehl tree kann man eine ähnliche Ausgabe, aber für Verzeichnisstrukturen, erreichen.
Installation¶
Das Programm pstree ist normalerweise in der Standardinstallation enthalten, kann aber ansonsten über das Paket
psmisc
installiert werden [2].
Syntax¶
pstree wird in einem Terminal mit folgendem Befehl aufgerufen:
pstree OPTIONEN
Optionen¶
Der Befehl pstree kennt die folgenden Optionen:
Option | Beschreibung |
-a | Zeigt die Kommandozeileargumente an, mit denen der entsprechende Prozess aufgerufen wurde. |
-c | Identische Unterbäume werden nicht zusammengefasst, d.h. Ausschalten der standardmäßigen kompakten Ausgabe. |
-l | Erzeugt bei "langen" Zeilen (> 132 Zeichen) keinen Zeilenumbruch, sondern zeigt diese komplett an. |
-h | Hebt den aktuellen Prozess und die zugehörigen Vorfahren durch Fettschrift hervor. |
-p | Zeigt bei der Ausgabe zusätzlich zum Prozessnamen die Prozessidentifikationsnummer PID des jeweiligen Prozesses an. |
-n | Ausgabe erfolgt sortiert nach der Prozessidentifikationsnummer und nicht nach Prozessnamen. |
-H PID | Hebt den Prozess mit der Prozessidentifikationsnummer PID hervor |
-u | Zeigt die UID an, wenn die UID des Kindprozesses sich von der des Elternprozesses unterscheidet. |
-A | Benutzt ausschließlich ASCII Zeichen für die Ausgabe. |
-U | Benutzt ausschließlich UTF-8 Zeichen für die Ausgabe. |
-G | Benutzt ausschließlich VT-100 für die Ausgabe. |
-V | Zeigt Information zur verwendeten Version an. |
BENUTZER | zeigt nur die Prozesse an, die durch BENUTZER gestartet wurden. |
Beispiele¶
Wird pstree ohne Optionen aufgerufen erhält man z.B. folgende Ausgabe:
pstree
init─┬─NetworkManager───2*[{NetworkManager}] ├─NetworkManagerD ├─acpid ├─atd ├─battstat-applet ├─bonobo-activati───{bonobo-activati} ├─cron ├─cupsd ├─2*[dbus-daemon] (...)
Wenn zusätzlich die PID's der einzelnen Prozesse angezeigt werden sollen sieht die Ausgabe so aus:
pstree -p
init(1)─┬─NetworkManager(4192)─┬─{NetworkManager}(4214) │ └─{NetworkManager}(4869) ├─NetworkManagerD(4203) ├─acpid(3987) ├─atd(4399) ├─battstat-applet(4852) ├─bonobo-activati(4736)───{bonobo-activati}(4738) ├─cron(4409) ├─cupsd(4553) ├─dbus-daemon(4120) ├─dbus-daemon(4694) ├─dbus-launch(4693) (...)
Es soll angezeigt werden, mit welchen (Kommandozeilen-) Optionen der Prozess aufgerufen wurde:
pstree -a
init splash ├─NetworkManager --pid-file /var/run/NetworkManager/NetworkManager.pid │ ├─{NetworkManager} │ └─{NetworkManager} ├─NetworkManagerD --pid-file /var/run/NetworkManager/NetworkManagerDispatcher.pid ├─acpid -c /etc/acpi/events -s /var/run/acpid.socket ├─atd ├─battstat-applet --oaf-activate-iid=OAFIID:GNOME_BattstatApplet_Factory --oaf-ior-fd=29 ├─bonobo-activati --ac-activate --ior-output-fd=16 │ └─{bonobo-activati} ├─cron ├─cupsd ├─dbus-daemon --system ├─dbus-daemon --fork --print-pid 8 --print-address 6 --session ├─dbus-launch --exit-with-session /usr/bin/gnome-session (...)
Es werden nur die Prozesse angezeigt, die durch den Benutzer user
gestartet wurden:
pstree user
battstat-applet bonobo-activati───{bonobo-activati} dbus-daemon dbus-launch (...)
Links¶
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle