Übersicht
In diesem kurzen Tutorial erfahren Sie, wie Sie die übergeordnete Prozess-ID in Linux über die Befehlszeile finden.
Sie erfahren auch, wie Sie die untergeordneten Elemente einer bestimmten übergeordneten Prozess-ID mithilfe des Befehls ps
.
Wir werden auch behandeln, wie ein vollständiger Prozessbaum eines übergeordneten Prozesses mit dem Befehl pstree
ausgegeben wird. Eine sehr hilfreiche Sache, wenn Sie alle untergeordneten Elemente eines bestimmten Elternteils, ihre IDs und Namen identifizieren möchten, die Sie möglicherweise benötigen, wenn Sie einen Prozess beenden.,
Übergeordnete Prozess-ID Umgebungsvariable
Die übergeordnete Prozess-ID Ihres aktuellen Kontexts wird als Umgebungsvariable verfügbar gemacht. Um den Wert zu sehen, können Sie ihn wiedergeben.
echo $PPID
Wenn Sie beispielsweise SSH
‘d auf einem Linux-Server sind, wird der Wert der Umgebungsvariablen $PPID
die Prozess-ID des Prozesses SSH
.
Die Umgebungsvariable gibt nur die Prozess-ID., Um zu sehen, was der übergeordnete Prozess ist, können wir den Befehl ps
mit der Umgebungsvariablen $PPID
.
ps -e | grep $PPID
Finden Sie die übergeordnete Prozess-ID eines laufenden Prozesses
Um den übergeordneten Prozess eines bestimmten Prozesses zu bestimmen, verwenden wir den Befehl ps
.
ps -o ppid= -p 9801
Die Ausgabe enthält nur die übergeordnete Prozess-ID selbst. Mit der Ausgabe des Befehls ps
können wir den Namen des Prozesses bestimmen.,
ps -e | grep 9801
2029 ? 00:00:14 apache2
Auflistung untergeordneter Prozesse einer übergeordneten Prozess-ID
Mit der übergeordneten Prozess-ID können wir den gesamten untergeordneten Prozess mithilfe des Befehls pgrep
.
pgrep -laP $PPID
Bei einem typischen SSH-Elternteil listet die Ausgabe die folgenden Prozesse auf
30797 -bash30798 /usr/lib/openssh/sftp-server
Prozessbaum anzeigen
Ein weiteres nützliches Dienstprogramm ist der Befehl pstree
. Dieser Befehl gibt einen Baum von untergeordneten Prozessen einer übergeordneten Prozess-ID aus., Um beispielsweise einen Baum von untergeordneten Prozessen aus dem aktuellen übergeordneten Prozess anzuzeigen, führen Sie den folgenden Befehl aus.
pstree $PPID
sshd─┬─bash───pstree └─sftp-server
Im obigen Beispiel können wir sehen, dass der sshd
– Prozess unsere aktuelle übergeordnete Prozess-ID (PPID) ist und zwei untergeordnete Prozesse hat. Die untergeordneten Prozesse sind bash
und sftp-server
.
Wir können auch sehen, dass der bash
– Prozess ein eigenes untergeordnetes Element hat, nämlich den Befehl pstree
Wir haben gerade ausgeführt.,
Der Befehl pstree
kann auch die Prozess-ID jedes Prozesses in Ihrem Baum ausgeben. Um die Prozess-IDs auszugeben, verwenden Sie das Flag -p
. Hier ist ein Beispiel für einen Prozessbaum für einen Apache-Webserver.
pstree -p 2029