Prezentare generală
În acest tutorial rapid, veți învăța cum să găsiți ID-ul procesului părinte în Linux din linia de comandă. de asemenea, veți învăța cum să găsiți copiii unui anumit ID de proces părinte folosind comanda ps
.
vom acoperi, de asemenea, modul de ieșire a unui arbore de proces complet al unui proces părinte folosind comanda pstree
. Un lucru foarte util atunci când doriți să identificați toți copiii unui anumit părinte, ID-urile și numele acestora, de care este posibil să aveți nevoie atunci când ucideți un proces.,
variabila de mediu Id proces părinte
ID proces părinte al contextului curent este expus ca o variabilă de mediu. Pentru a vedea valoarea pe care o puteți ecou.
echo $PPID
De exemplu, dacă sunteți SSH
‘d într-un server Linux, valoarea de $PPID
variabila de mediu va ID-ul procesului de SSH
proces.
variabila de mediu emite doar ID-ul procesului., Pentru a vedea care este procesul părinte, putem folosi comanda ps
cu variabila de mediu $PPID
.
ps -e | grep $PPID
Găsi Părinte ID-ul de Proces de un Proces de Funcționare
Pentru a determina procesul părinte al unui proces specific, vom folosi ps
comandă.
ps -o ppid= -p 9801
ieșirea conține numai ID-ul procesului părinte în sine. Folosind ieșirea din comanda ps
putem determina numele procesului.,
ps -e | grep 9801
2029 ? 00:00:14 apache2
Listă de Procesele Copil de un Părinte ID-ul de Proces
Cu procesul părinte ID putem căutare toate ale copilului cu ajutorul procesului de părinte folosind pgrep
comandă.
pgrep -laP $PPID
Pentru un tipic SSH părinte ieșire va listă următoarele procese
30797 -bash30798 /usr/lib/openssh/sftp-server
Afișare Procesul de Copac
un Alt utilitar util este pstree
comandă. Această comandă va afișa un arbore al proceselor pentru copii ale unui ID de proces părinte., De exemplu, pentru a afișa un arbore al proceselor copil din procesul părinte curent, veți executa următoarea comandă.
pstree $PPID
sshd─┬─bash───pstree └─sftp-server
Din exemplul de mai sus, putem vedea că sshd
procesul este actualul nostru Părinte ID-ul de Proces (PPID), și că are doi copii de procese. Procesul copil sunt bash
și sftp-server
.
de asemenea, putem vedea că bash
proces are propriul său copil, care este pstree
comandă-am executat.,
comanda pstree
poate, de asemenea, să emită ID-ul de proces al fiecărui proces din arborele dvs. Pentru a scoate ID-urile procesului, utilizați steagul -p
. Iată un exemplu de arbore de proces pentru un server web Apache.
pstree -p 2029