ubuntuusers.de

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:

Wiki/Icons/terminal.png 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:

OptionBeschreibung
-aZeigt die Kommandozeileargumente an, mit denen der entsprechende Prozess aufgerufen wurde.
-cIdentische Unterbäume werden nicht zusammengefasst, d.h. Ausschalten der standardmäßigen kompakten Ausgabe.
-lErzeugt bei "langen" Zeilen (> 132 Zeichen) keinen Zeilenumbruch, sondern zeigt diese komplett an.
-hHebt den aktuellen Prozess und die zugehörigen Vorfahren durch Fettschrift hervor.
-pZeigt bei der Ausgabe zusätzlich zum Prozessnamen die Prozessidentifikationsnummer PID des jeweiligen Prozesses an.
-nAusgabe erfolgt sortiert nach der Prozessidentifikationsnummer und nicht nach Prozessnamen.
-H PIDHebt den Prozess mit der Prozessidentifikationsnummer PID hervor
-uZeigt die UID an, wenn die UID des Kindprozesses sich von der des Elternprozesses unterscheidet.
-ABenutzt ausschließlich ASCII Zeichen für die Ausgabe.
-UBenutzt ausschließlich UTF-8 Zeichen für die Ausgabe.
-GBenutzt ausschließlich VT-100 für die Ausgabe.
-VZeigt Information zur verwendeten Version an.
BENUTZERzeigt 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
(...)

Diese Revision wurde am 20. Februar 2013 19:06 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, PID, Prozesse