Linux pstree Command Tutorial voor Beginners (8 Voorbeelden)

Omdat elk proces (behalve het allereerste) in een Linux systeem een ouder heeft, maakt het de zaken soms gemakkelijker te begrijpen als alle processen in een boomstructuur worden weergegeven. Je zult blij zijn te weten dat er een commandoregel hulpprogramma bestaat – pstree genoemd – dat een boomstructuur van processen toont.

In deze handleiding bespreken we de basis van het pstree commando aan de hand van enkele gemakkelijk te begrijpen voorbeelden. Maar voor we dat doen, is het de moeite waard te vermelden dat alle voorbeelden hier getest zijn op een Ubuntu 16.04 LTS machine.

Linux pstree commando

Zoals in het begin al gezegd, geeft het pstree commando een boom van processen weer. Hierna volgt de syntaxis ervan:

pstree [options]

En hier is wat de man pagina van het gereedschap erover zegt:

       pstree shows running processes as a tree.  The tree is rooted at either
       pid  or  init  if  pid  is  omitted.   If a user name is specified, all
       process trees rooted at processes owned by that user are shown.

       pstree visually merges identical branches by  putting  them  in  square
       brackets and prefixing them with the repetition count, e.g.

           init-+-getty
                |-getty
                |-getty
                `-getty

       becomes

           init---4*[getty]

       Child  threads  of a process are found under the parent process and are
       shown with the process name in curly braces, e.g.

           icecast2---13*[{icecast2}]

       If pstree is called as pstree.x11 then it will prompt the user  at  the
       end of the line to press return and will not return until that has hap?
       pened.  This is useful for when pstree is run in a xterminal.

       Certain kernel or mount parameters, such  as  the  hidepid  option  for
       procfs,  will  hide information for some processes. In these situations
       pstree will attempt to build the tree without this information, showing
       process names as question marks.

Hieronder volgen enkele vraag-antwoord-achtige voorbeelden die je een goed idee moeten geven over hoe het pstree commando werkt:

Q1. Hoe gebruik je het pstree commando?

Het basisgebruik is eenvoudig: alles wat je hoeft te doen is ‘pstree’ uit te voeren sans enige optie.

pstree

Hoe pstree commando te gebruiken

Zo zie je maar hoe pstree proces-gerelateerde informatie in de uitvoer produceert.

Q2. Hoe kun je pstree ook commandoregel argumenten in de uitvoer laten opnemen?

Dit kan met de -a commandolijn optie.

pstree -a

Hoe pstree ook commandoregel argumenten in de uitvoer te laten opnemen

Zo zie je dat het pstree commando nu ook commandoregelopties voor sommige processen weergeeft.

Q3. Hoe forceer je pstree om identieke deelbomen in uitvoer uit te breiden?

Standaard voegt het pstree commando identieke takken samen door ze tussen vierkante haken te zetten en ze te laten voorafgaan door het herhalingsgetal. Zoiets als dit:

Hoe forceer je pstree om identieke subtrees in uitvoer uit te breiden

Als je wilt, kun je het gereedschap echter dwingen om identieke bomen uit te breiden, iets wat je kunt doen met de -c commandolijnoptie.

pstree -c

Uitgebreide subtrees

Q4. Hoe kan pstree een specifiek proces laten markeren?

Wil je dat het gereedschap in de uitvoer een specifiek proces markeert, gebruik dan de -H commandoregel optie.

pstree -H [PID]

Waarbij PID het ID is van het proces dat je wilt markeren. Bijvoorbeeld, ik markeerde het firefox proces op mijn systeem met het volgende commando:

pstree -H 3124

Hoe pstree een specifiek proces laten markeren

Zo zie je dat de naam ‘firefox’ licht gemarkeerd is in vergelijking met andere namen.

Q5. Hoe laat pstree procesgroep ID’s in de uitvoer zien?

Gebruik hiervoor de -g commandoregeloptie.

pstree -g

Hoe maak je dat pstree procesgroep ID's toont in uitvoer

Zo kun je zien dat procesgroep ID’s als decimale getallen tussen haakjes na elke procesnaam worden getoond.

Q6. Hoe kan pstree processen laten sorteren op basis van PID’s?

Standaard sorteert pstree processen met dezelfde voorouder op naam. Als je wilt, kun je pstree echter ook processen op PID’s laten sorteren, iets wat je kunt doen met de -n commandolijnoptie.

pstree -n

Merk op dat deze manier van sorteren ook bekend is als numeriek sorteren.

Q7. Hoe kan pstree procesboom specifiek voor een gebruiker laten weergeven?

Wil je dat pstree alle procesbomen toont die geworteld zijn in processen die eigendom zijn van een bepaalde gebruiker, dan hoef je alleen maar de naam van die gebruiker als invoer aan het commando door te geven.

Voorbeeld,

pstree himanshu

Dus in dit geval werd op mijn systeem de volgende uitvoer geproduceerd:

Hoe pstree procesboom specifiek voor een gebruiker te laten tonen

Q8. Hoe beperk je pstree tot een bepaald proces?

Als je wilt dat pstree alleen de ouder en kind info voor een bepaald proces toont, gebruik dan de -s optie.

pstree -s [PID]

Ik wilde bijvoorbeeld de uitvoer van Pstree beperken tot alleen het firefox proces op mijn systeem, dus ik voerde het volgende commando uit:

pstree -s 3124

En hier is de uitvoer die het gereedschap toonde:

Hoe Pstree beperken tot een bepaald proces

Conclusie

Afhankelijk van het soort werk dat je doet, kan het pstree commando van grote hulp zijn. Hier, in deze zelfstudie, hebben we enkele belangrijke commandoregel opties besproken die dit gereedschap biedt. Ga voor meer info naar zijn man pagina.