przegląd
w tym krótkim samouczku dowiesz się, jak znaleźć identyfikator procesu nadrzędnego w Linuksie z wiersza poleceń.
dowiesz się również, jak znaleźć Dzieci danego ID procesu macierzystego za pomocą poleceniaps
.
omówimy również, jak wypisać pełne drzewo procesów nadrzędnych za pomocą poleceniapstree
. Bardzo pomocna rzecz, gdy chcesz zidentyfikować wszystkie dzieci danego rodzica, ich identyfikatory i imiona, które mogą być potrzebne podczas zabijania procesu.,
zmienna środowiskowa ID procesu macierzystego
identyfikator procesu macierzystego bieżącego kontekstu jest wyświetlany jako zmienna środowiskowa. Aby zobaczyć wartość, możesz ją odtworzyć.
echo $PPID
na przykład, jeśli jesteś SSH
’D na serwerze Linux, wartość zmiennej środowiskowej $PPID
będzie identyfikatorem procesu SSH
.
zmienna środowiskowa wyświetla tylko identyfikator procesu., Aby zobaczyć, czym jest proces macierzysty, możemy użyć polecenia ps
ze zmienną środowiskową $PPID
.
ps -e | grep $PPID
Znajdź Identyfikator procesu macierzystego uruchomionego procesu
aby określić proces macierzysty określonego procesu, używamy poleceniaps
.
ps -o ppid= -p 9801
wyjście zawiera tylko identyfikator procesu nadrzędnego. Używając wyjścia z poleceniaps
możemy określić nazwę procesu.,
ps -e | grep 9801
2029 ? 00:00:14 apache2
lista procesów potomnych procesu nadrzędnego
z identyfikatorem procesu nadrzędnego możemy wyszukać wszystkie procesy potomne za pomocą poleceniapgrep
.
pgrep -laP $PPID
dla typowego rodzica SSH wyjście wyświetli listę następujących procesów
30797 -bash30798 /usr/lib/openssh/sftp-server
wyświetli drzewo procesów
innym użytecznym narzędziem jest poleceniepstree
. Polecenie to wyświetli drzewo procesów potomnych o identyfikatorze procesu nadrzędnego., Na przykład, aby wyświetlić drzewo procesów potomnych z bieżącego procesu nadrzędnego, należy uruchomić następujące polecenie.
pstree $PPID
sshd─┬─bash───pstree └─sftp-server
z powyższego przykładu możemy zobaczyć, że processshd
jest naszym bieżącym ID procesu nadrzędnego (PPID) i że ma dwa procesy potomne. Proces potomny to bash
I sftp-server
.
możemy również zobaczyć, że bash
proces ma swoje własne dziecko, które jest pstree
polecenie, które właśnie wykonaliśmy.,
poleceniepstree
może również wypisać identyfikator procesu każdego procesu w drzewie. Aby wyświetlić identyfikatory procesów, należy użyć znacznika -p
. Oto przykład drzewa procesów dla serwera Apache.
pstree -p 2029