översikt
i den här snabba handledningen kommer du att lära dig hur du hittar det överordnade Process-ID: t i Linux från kommandoraden.
Du lär dig också hur du hittar barnen i ett visst överordnat Process-ID med kommandot ps
.
Vi kommer också att täcka hur du matar ut ett komplett processträd för en överordnad process med kommandotpstree
. En mycket hjälpsam sak när du vill identifiera alla barn till en viss förälder, deras ID och namn, som du kan behöva när du dödar en process.,
överordnad Process-ID miljövariabel
överordnad process-ID för ditt aktuella sammanhang exponeras som en miljövariabel. För att se värdet kan du eko ut det.
echo $PPID
om du till exempel är SSH
’d i en Linux-server, kommer värdet på miljövariabeln $PPID
process-ID för SSH
– processen.
miljövariabeln matar endast ut process-ID., För att se vad den överordnade processen är kan vi använda miljövariabeln ps
med $PPID
.
ps -e | grep $PPID
hitta den överordnade Process-ID för en pågående Process
för att bestämma den överordnade processen för en specifik process använder vi kommandotps
.
ps -o ppid= -p 9801
utmatningen innehåller endast det överordnade process-ID: t. Med hjälp av utmatningen från kommandotps
kan vi bestämma namnet på processen.,
ps -e | grep 9801
2029 ? 00:00:14 apache2
lista underordnade processer för en överordnad process-ID
med överordnad process-ID kan vi slå upp hela underordnad process med hjälp av överordnad process med kommandotpgrep
.
pgrep -laP $PPID
för en typisk SSH-förälder kommer utmatningen att lista följande processer
30797 -bash30798 /usr/lib/openssh/sftp-server
Visa Processträd
ett annat användbart verktyg är kommandotpstree
. Detta kommando kommer att mata ut ett träd av barn processer av en förälder process-ID., Om du till exempel vill visa ett träd med underordnade processer från den aktuella överordnade processen kör du följande kommando.
pstree $PPID
sshd─┬─bash───pstree └─sftp-server
från exemplet ovan kan vi se att processen sshd
är vårt nuvarande överordnade Process-ID (PPID), och att den har två underordnade processer. Barnprocessen är bash
ochsftp-server
.
Vi kan också se attbash
– processen har sitt eget barn, vilket är kommandotpstree
som vi just utförde.,
kommandotpstree
kan också mata ut process-ID för varje process i ditt träd. För att mata ut process-ID: n använder du flaggan -p
. Här är ett exempel på en process träd för en Apache webbserver.
pstree -p 2029