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