Jak znaleźć PPID procesu nadrzędnego w Linux

Jak znaleźć PPID procesu nadrzędnego w Linux

Za każdym razem, gdy program jest wykonywany, jądro tworzy proces powiązany z programem. Mówiąc najprościej, proces jest działającym instancją programu w Linux.

Proces utworzony przez jądro jest określany jako „Proces rodzica'. Procesy uzyskane lub odrodzone z procesu nadrzędnego są znane jako „Procesy dziecięce'. Proces nadrzędny może składać się z wielu procesów dziecięcych, z których każdy ma unikalny Pid (Identyfikator procesu), ale dzielenie się tym samym PPID.

Może ci się spodobać również:

  • Wszystko, co musisz wiedzieć o procesach w Linux [kompleksowy przewodnik]
  • 16 Najlepsze przykłady poleceń w Linux [Monitor Processes]
  • Jak zabić proces Linuksa za pomocą zabójstwa, Pkill i Killall
  • Jak znaleźć nazwę procesu za pomocą numeru PID w Linux
  • Znajdź najwyższe procesy uruchomione przez najwyższe zużycie pamięci i procesora w Linux

W tym przewodniku badamy różne sposoby użycia, aby znaleźć identyfikatory procesów nadrzędnych (PPID) lub procesy w systemie Linux.

Jaka jest różnica między PID a PPID?

Program ładowany do pamięci i uruchomiony jest znany jako proces. Po uruchomieniu proces otrzymuje unikalny numer znany jako identyfikator procesu (Pid) To jednoznacznie identyfikuje to w systemie. Proces może być odwołany w dowolnym momencie, używając go Pid. Na przykład, aby zabić proces, będziesz musiał go poznać Pid Pierwszy.

Dodatkowo Pid, Każdy proces jest przypisywany procesem nadrzędnym ID (PPID) To pokazuje, który proces go zrodził. Więc PPID jest Pid rodzica procesu.

Aby umieścić to w kontekście, załóżmy proces 5 z Pid z 5050 Rozpoczyna proces 6. Proces 6 zostanie przypisany unikalny Pid Jak na przykład 6670, ale nadal otrzyma PPID z 5050.

Proces nadrzędny tutaj jest proces 5 A proces dziecka jest 6. Proces potomny przypisuje się unikalny Pid ale PPID jest taki sam jak PID procesu nadrzędnego (proces 5)

Samotny rodzic może rozpocząć wiele kilku procesów dziecięcych, każdy z unikalnym PID, ale wszystkie dzielą to samo PPID.

Znajdź identyfikator procesu nadrzędnego (PPID) w Linux

Istnieją dwa główne podejścia do znalezienia PPID procesu działającego w systemie Linux:

  • Korzystanie z polecenia pstree.
  • Korzystanie z polecenia PS.

Znajdź PPID procesu Linux za pomocą polecenia pstree

A pstree Polecenie jest narzędziem wiersza poleceń, które wyświetla uruchamianie procesów jako drzewo, co stanowi wygodny sposób wyświetlania procesów w hierarchii. Pokazuje związek rodzic-dziecko w hierarchii drzew.

Z -P opcja pstree Wyświetla wszystkie uruchomione procesy nadrzędne wraz z odpowiednimi procesami dziecka i odpowiednimi PIDS.

$ pstree -p 
Pokaż Linuksa uruchamiającego procesy w hierarchii drzew

Ze wyjścia możemy zobaczyć identyfikatory procesu nadrzędnego wraz z identyfikatorami procesu dziecka.

Aby uzyskać demonstrację, sprawdzimy PPID Do Mozilla Firefox wraz z całą hierarchią procesu za pomocą następującego polecenia:

$ pstree -p | Grep „Firefox” 
Znajdź PPID procesu Linux

Ze wyjścia widać, że PPID z Firefox Jest 3457 A reszta jest Pids procesów dziecięcych.

Aby wyświetlić tylko PPID Firefoxa i pomiń resztę wyjścia, zanurz wyjście do polecenia głowy -1 Aby wyświetlić pierwszą linię.

$ pstree -p | Grep „Firefox” | głowa -1 
Wydrukuj PPID procesu Linux

Znajdź PPID procesu Linux za pomocą polecenia PS

Inna opcja znalezienia PPID procesu jest polecenie PS, które jest powszechnie używanym poleceniem, które wyświetla aktualnie uruchomione procesy w systemie Linux.

W przypadku użycia z -ef opcja polecenie PS wymienia wszystkie uruchomione procesy wraz z ich szczegółami, takimi jak UID, Pid, PPID, itp.

$ ps -ef 
Lista uruchomiona procesami Linux z PID

Zawęzić go i wyświetlić PPID na przykład konkretnego procesu, Firefox, Przekaż -mi opcja i wypij wyjście do polecenia GREP, jak pokazano.

$ ps -e | Grep „Firefox” 
Znajdź Linux Process PID

Jeszcze raz, z wyjścia, możesz zobaczyć, że PPID z Firefox Jest 3457.

W tym przewodniku pokazaliśmy, jak znaleźć PPIDS procesów działających w systemie Linux. Możesz użyć albo pstree polecenie lub polecenie PS dotrzeć do tego samego celu.