Android

Pstree Befehl unter Linux

Ubuntu : Pfad + Parameter vom laufendem Programm finden

Ubuntu : Pfad + Parameter vom laufendem Programm finden

Inhaltsverzeichnis:

Anonim

Wenn Sie auf einem Linux-Computer arbeiten, müssen Sie manchmal herausfinden, welche Prozesse derzeit ausgeführt werden. Es gibt eine Reihe von Befehlen, mit denen Sie Informationen zu den ausgeführten Prozessen finden können, wobei ps und top die am häufigsten verwendeten sind.

Wir werden über den Befehl pstree sprechen. Es ist ähnlich wie ps , aber anstatt die laufenden Prozesse aufzulisten, werden sie in einem Baum angezeigt. Das baumartige Format ist eine bequemere Möglichkeit, die Prozesshierarchie anzuzeigen, und macht die Ausgabe optisch ansprechender.

Verwendung des pstree

Die allgemeine Syntax für den Befehl pstree lautet wie folgt:

ps

In der einfachsten Form zeigt pstree ohne Option oder Argument eine hierarchische Baumstruktur aller ausgeführten Prozesse an:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

Das Top- / Root-Element in der Struktur ist der übergeordnete Prozess aller Systemprozesse. In diesem Beispiel ist dies systemd , der erste Prozess, der beim Booten gestartet wird.

pstree identische Zweige zusammen, indem Sie sie in eckige Klammern setzen und ihnen eine ganze Zahl pstree , die die Anzahl der Zweige darstellt. Dies macht die Ausgabe lesbarer und optisch ansprechender.

Unten sehen Sie ein Beispiel für die Verwendung der eckigen Klammern:

├─2*

ist dasselbe wie:

├─agetty ├─agetty

Verwenden Sie die Option -c um das Zusammenführen der identischen Zweige zu deaktivieren:

pstree -c

Die Threads eines Prozesses werden unter dem übergeordneten Prozess angezeigt und mit dem Prozessnamen in geschweiften Klammern angezeigt. Hier ist ein Beispiel:

├─lxcfs───2*

Verwenden Sie die Option -t , um die vollständigen Threadnamen anzuzeigen. Wenn Sie Threads ausblenden und nur Prozesse -T möchten, verwenden Sie die Option -T .

In der pstree zeigt pstree viele Ausgabezeilen an, die nicht auf den Bildschirm passen. Um die Ausgabe seitenweise anzuzeigen, leiten Sie sie an den Befehl less :

pstree | less

Wenn ein Benutzername als Argument angegeben wird, zeigt pstree nur die Prozesse an, deren Eigentümer dieser Benutzer ist. Der folgende Befehl zeigt beispielsweise nur die Prozesse an, die von einem Benutzer mit dem Namen "linuxize" gestartet wurden:

pstree linuxize

Wenn PID als Argument angegeben wird, zeigt pstree einen Baum mit dem angegebenen Prozess als Stamm des Baums an. Hier ist ein Beispiel:

pstree 1943

sshd───bash───pstree

Um die übergeordneten Prozesse des angegebenen Prozesses -s , verwenden Sie die Option -s gefolgt von der Prozess-PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

PIDs und PGIDs anzeigen

Normalerweise ist beim Ausführen des pstree die Prozess-ID die wichtigste Information, nach der der Benutzer sucht. Wenn Sie beispielsweise die PID kennen, können Sie einen fehlerhaften Prozess beenden.

Die Option -p weist pstree an, die PIDs anzuzeigen:

pstree -p

PIDs werden nach jedem Prozess oder Thread in Klammern angezeigt.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

Standardmäßig pstree Prozesse mit demselben übergeordneten pstree nach dem Namen. Die Option -n weist pstree an, die numerische Sortierung zu verwenden, dh nach PIDs zu sortieren:

pstree -pn

Die Prozessgruppen-ID oder die PGIDs sind die Prozess-ID des ersten Mitglieds der Prozessgruppe. Verwenden Sie zum Anzeigen von PGIDs die Option -g :

pstree -g

PIDs werden auch nach jedem Prozess oder Thread in Klammern angezeigt.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

Wenn PIDs oder PGIDs angezeigt werden, ist das Zusammenführen implizit deaktiviert.

Befehlszeilenargumente anzeigen

Einige Programme können mit Konfigurationsoptionen aufgerufen werden, die als Befehlszeilenargumente angegeben sind.

Standardmäßig zeigt die pstree die Befehlszeilenargumente für die ausgeführten Prozesse nicht an. Verwenden Sie den Befehl zusammen mit der Option -a , um anzuzeigen, wie der Prozess gestartet wurde:

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

Hervorheben

pstree können Sie auch Prozesse zur besseren visuellen Darstellung hervorheben.

Die Option -h weist pstree an, den aktuellen Prozess und alle seine Vorfahren hervorzuheben.

pstree -h

Verwenden Sie die Option -H gefolgt von der Prozess-ID, um einen bestimmten Prozess hervorzuheben:

pstree -H PID_NUMBER

Wenn die Hervorhebung nicht unterstützt wird, wird der Befehl mit einem Fehler beendet.

Fazit

Der Befehl pstree zeigt die laufenden Prozesse in Form einer Baumstruktur an.

Um Informationen zu allen verfügbaren pstree Optionen zu erhalten, geben Sie man pstree in Ihr Terminal ein.

ps terminal