Ü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