Android

Pstree commando in linux

How to use the pstree command: Linux tip

How to use the pstree command: Linux tip

Inhoudsopgave:

Anonim

Wanneer u op een Linux-machine werkt, moet u soms achterhalen welke processen momenteel worden uitgevoerd. Er zijn een aantal opdrachten die u kunt gebruiken om informatie te vinden over de lopende processen, waarbij ps en top de meest gebruikte zijn., we zullen het hebben over het pstree commando. Het is vergelijkbaar met ps , maar in plaats van de actieve processen te vermelden, worden deze in een boomstructuur weergegeven. Het boomachtige formaat is een gemakkelijkere manier om de proceshiërarchie weer te geven en maakt de uitvoer visueel aantrekkelijker.

Hoe het pstree commando te gebruiken

De algemene syntaxis voor de opdracht pstree is als volgt:

ps

In zijn eenvoudigste vorm toont pstree een hiërarchische boomstructuur van alle actieve processen wanneer deze wordt opgeroepen zonder enige optie of argument:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

Het bovenste / root-item in de structuur is het bovenliggende proces van alle systeemprocessen. In dit voorbeeld is dat systemd , wat het eerste proces is dat start bij het opstarten.

pstree voegt identieke takken samen door ze tussen vierkante haken te plaatsen en ze te prefixen met een geheel getal dat het aantal takken vertegenwoordigt. Dit maakt de uitvoer leesbaarder en visueel aantrekkelijker.

Hieronder ziet u een voorbeeld van hoe de vierkante haken worden gebruikt:

├─2*

is hetzelfde als:

├─agetty ├─agetty

Gebruik de optie -c om het samenvoegen van dezelfde takken uit te schakelen:

pstree -c

De threads van een proces worden weergegeven onder het bovenliggende proces en weergegeven met behulp van de procesnaam tussen accolades. Hier is een voorbeeld:

├─lxcfs───2*

Gebruik de optie -t om de volledige threadnamen weer te geven. Als u threads wilt verbergen en alleen processen wilt weergeven, gebruikt u de optie -T .

Doorgaans geeft pstree veel uitvoerregels weer die niet op het scherm passen. Als je de uitvoer pagina voor pagina wilt bekijken, leid je deze naar de opdracht less :

pstree | less

Als een gebruikersnaam als argument wordt gegeven, toont pstree alleen de processen die eigendom zijn van die gebruiker. De volgende opdracht toont bijvoorbeeld alleen die processen die zijn gestart door een gebruiker met de naam "linuxize":

pstree linuxize

Wanneer PID wordt opgegeven als een argument, geeft pstree een boom weer met het gegeven proces als de root van de boom. Hier is een voorbeeld:

pstree 1943

sshd───bash───pstree

Om de bovenliggende processen van het gegeven proces te tonen, gebruikt u de optie -s gevolgd door de proces-PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Toon PID's en PGID's

Gewoonlijk is de proces-ID bij het uitvoeren van de opdracht pstree de belangrijkste informatie pstree de gebruiker op zoek is. Als u bijvoorbeeld de PID kent, kunt u een defect proces beëindigen.

De optie -p instrueert pstree om de PID's te tonen:

pstree -p

PID's worden tussen haakjes weergegeven na elk proces of thread.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

Standaard, pstree , sorteer processen met dezelfde ouder op naam. De optie -n vertelt pstree om numerieke sortering te gebruiken, dwz sorteren op PID's:

pstree -pn

De procesgroep-ID of PGID's is de proces-ID van het eerste lid van de procesgroep. Gebruik de optie -g om PGID's te bekijken:

pstree -g

PID's worden ook tussen haakjes weergegeven na elk proces of thread.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

Wanneer PID's of PGID's worden weergegeven, is samenvoegen impliciet uitgeschakeld.

Toon opdrachtregelargumenten

Sommige programma's kunnen worden opgeroepen met configuratie-opties die zijn opgegeven als opdrachtregelargumenten.

Standaard toont de pstree geen opdrachtregelargumenten voor de actieve processen. Om te bekijken hoe het proces is gestart, gebruikt u de opdracht samen met de optie -a :

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

De markering

pstree kunt u ook processen markeren voor een betere visuele weergave.

De optie -h instrueert pstree om het huidige proces en al zijn voorouders te markeren.

pstree -h

Om een ​​specifiek proces te markeren, gebruikt u de optie -H gevolgd door de proces-ID:

pstree -H PID_NUMBER

Als de markering niet wordt ondersteund, wordt de opdracht met een fout afgesloten.

Conclusie

De opdracht pstree geeft de lopende processen weer in de vorm van een boomstructuur.

Typ man pstree in uw terminal voor informatie over alle beschikbare pstree opties.

ps terminal