ö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 bashochsftp-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