Wie finde ich Elternprozess unter Linux?

Wie finde ich Elternprozess unter Linux?
Während der Ausführung eines Programms erstellt der Kernel einen Prozess, der dazu beiträgt, die Ausführungsdetails des Programms im Speicher des Systems zu speichern. Wenn ein Programm ausgeführt wird, wird es ein Verfahren für das System. Wir können also sagen, dass ein Prozess ein Programm ist, bis es ausgeführt wird.

Der vom Kernel erstellte Prozess ist als das bekanntElternprozess,Und alle aus dem übergeordneten Prozess abgeleiteten Prozesse werden als "als" bezeichnet "Kinderprozesse.”Ein einzelner Prozess kann aus mehreren Kinderprozessen mit einem einzigartigen bestehen PID aber mit dem gleichen Ppid.

Eine Frage könnte im Kopf des Anfängers auftreten, dass der Unterschied zwischen PID und PPID ist?

Wir haben bereits besprochen PID In den meisten unserer Artikel, wenn Sie der neue sind, keine Sorgen!

In Linux -Systemen werden mehrere Prozesse gleichzeitig ausgeführt. Manchmal kann ein Prozess einen einzelnen Thread (Ausführungseinheit innerhalb eines Prozesses) oder mehrere Threads haben. Prozesse haben unterschiedliche Zustände; Sie könnten im Warten, bereit oder im Laufstaat sein. Es geht darum, wie der Benutzer oder Kernel sie priorisiert. Diese Prozesse werden also durch die eindeutigen Zahlen identifiziert, die wir nennen Prozess ID (PID). Eindeutige Zahlen für die übergeordneten Prozesse werden als PPIDs bezeichnet, und jeder übergeordnete Prozess kann mehrere untergeordnete Prozesse mit ihren eindeutigen Prozess -IDs haben. Die PIDs von untergeordneten Prozessen sind unterschiedlich, da sie getrennte Ausführungseinheiten darstellen, aber die gleiche übergeordnete Prozess -ID (übergeordnete Prozess -Prozess -ID (Ppid).

Wir brauchen Ppid Wenn der Kinderprozess einige Probleme erzeugt und nicht richtig funktioniert. In diesem Fall kann es die Arbeit anderer Prozesse beeinflussen, und das System kann auch beeinflusst werden. Um den kontinuierlich ausgeführten Prozess zu stoppen, ist es notwendig, seinen übergeordneten Prozess abzutöten.

Überprüfen Sie, wie wir PPID finden können:

So finden Sie die übergeordnete Prozess -ID (PPID) unter Linux:

Wir haben ein paar Ansätze, um das zu finden Ppid eines laufenden Prozesses in Linux -Systemen:

  1. Verwendung der "Pstree "Befehl
  2. Verwendung der "ps" Befehl

So finden Sie PPID mit dem Pstree -Befehl unter Linux:

Der "PstreeDer Befehl ”ist ein guter Ansatz, um die übergeordnete Prozess-ID (PPID) zu identifizieren, da sie die Eltern-Kind-Beziehung in einer Baumhierarchie zeigt.

Geben Sie einfach "ein"PstreeBefehl mit dem “-POption im Terminal, um zu überprüfen.

$ pstree -p

Es zeigt die übergeordnete ID zusammen mit den IDs Child Process IDS an.

Lassen Sie uns ein Beispiel für „Mozilla Firefox“ überprüfen, um seine PPID zusammen mit der vollständigen Prozesshierarchie zu erhalten. Führen Sie den folgenden Befehl im Terminal aus:

$ pstree -p | Grep "Firefox"

(Grep ist ein Befehlszeilen-Tool, mit dem nach einer bestimmten Zeichenfolge gesucht werden kann

In den genannten Ergebnissen können wir das sehen 3528 ist das PPID des Prozesses “Feuerfuchs,Und alle anderen sind Kinderprozesse.

Führen Sie den erwähnten Befehl aus, um nur die übergeordnete Prozess -ID im Terminal zu drucken:

$ pstree -p | Grep "Firefox" | Kopf -1

So finden Sie PPID mit PS -Befehl:

Der "ps"Befehlsdienstprogramm ist eine weitere Möglichkeit, Informationen aus dem zu verarbeiten"/procDateisystem und überwachen Sie sie.

Durch diesen Befehl kann der Benutzer auch das finden Ppid Und Pids eines laufenden Prozesses.

Führen Sie Folgendes aus “psBefehl zusammen mit dem “EF”Option zum Anzeigen detaillierter Informationen von Prozessen einschließlich Ppid:

$ ps -f

Wenn Sie die anzeigen möchten Ppid Führen Sie die erwähnten von einem bestimmten Prozess mit Details aus “aus.“psBefehl mit dem “Grep”:

$ ps -f | Grep "Firefox"

(Die "-FDie Option wird verwendet, um die Details des Prozesses aufzulisten

Und nur die zu bekommen Ppid von "Feuerfuchs,”Verwenden Sie die folgende Syntax:

$ ps -e | grep [process_name]

Also finde die Ppid von "FeuerfuchsVerwenden Sie den Befehl:

$ ps -e | Grep "Firefox"

Abschluss:

Bei jeder Ausführung eines Programms erstellt der Kernel einen Prozess, der Ausführungsdetails im Speicher lädt. Dieser erstellte Prozess ist als der bekannt als der Elternprozess Ein- oder mehrere Threads haben. Jeder Prozess hat die eindeutige zugewiesen Ppid Und Pids automatisch durch den Kernel.

Während der Arbeit mit dem Linux -System sollte man über das wissen PPIDs der laufenden Prozesse. Ein Problem mit dem Kinderprozess kann die anderen Prozesse beeinflussen. In solchen Fällen müssen wir möglicherweise den übergeordneten Prozess abtöten.

Der PPIDs Auslaufprozesse können auf mehreren Arten identifiziert werden. Die einfachsten Ansätze sind durch die “psBefehl und “Pstree" Befehl.

Wir haben oben gesehen, wie wir den PPID eines bestimmten Prozesses mit diesen beiden Befehlstools herausfinden können.