Ubuntu : Pfad + Parameter vom laufendem Programm finden
Inhaltsverzeichnis:
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.
Befehl Chgrp unter Linux (Gruppe wechseln)
In Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen. Der Befehl chgrpc ändert die Gruppeneigentümerschaft für bestimmte Dateien.
Diff Befehl unter Linux
diff ist ein Befehlszeilenprogramm, mit dem Sie zwei Dateien zeilenweise vergleichen können. Es kann auch den Inhalt von Verzeichnissen vergleichen.
Befehl Dmesg unter Linux
Das Befehlszeilendienstprogramm dmesg druckt und steuert den Kernel-Ringpuffer. Es ist nützlich, um Kernel-Boot-Meldungen zu untersuchen und Hardware-Probleme zu beheben.







