Android

Pstree-kommando i linux

Processen weergeven

Processen weergeven

Indholdsfortegnelse:

Anonim

Når du arbejder på en Linux-maskine, skal du nogle gange nødt til at finde ud af, hvilke processer der kører i øjeblikket. Der er antal kommandoer, som du kan bruge til at finde information om de kørende processer, hvor ps og top er de mest anvendte., vi vil tale om kommandoen pstree . Det ligner ps , men i stedet for at liste de kørende processer, viser det dem i et træ. Det trælignende format er en mere bekvem måde at vise processerhierarkiet og gør output mere visuelt tiltalende.

Sådan bruges pstree kommandoen

Den generelle syntaks for kommandoen pstree er som følger:

ps

I sin enkleste form, når der påberåbes uden mulighed eller argument, viser pstree en hierarkisk træstruktur af alle kørende processer:

pstree

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

Det øverste / rodelement i træet er overordnede processer for alle systemprocesser. I dette eksempel er det systemd , som er den første proces, der starter ved start.

pstree fletter identiske grene ved at placere dem mellem firkantede parenteser og præfixere dem med et heltal, der repræsenterer antallet af grene. Dette gør output mere læseligt og visuelt tiltalende.

Nedenfor er et eksempel, der viser, hvordan de firkantede parenteser bruges:

├─2*

er det samme som:

├─agetty ├─agetty

For at deaktivere sammenlægningen af ​​de samme grene skal du bruge indstillingen -c :

pstree -c

Trådene i en proces vises under den overordnede proces og vises ved hjælp af procesnavnet inden i krøllede seler. Her er et eksempel:

├─lxcfs───2*

Brug indstillingen -t til at vise de fulde trådnavne. Hvis du vil skjule tråde og kun vise processer, skal du bruge indstillingen -T .

Typisk viser pstree mange outputlinjer, der ikke passer på skærmen. For at se output en side ad gangen, rør det til kommandoen less :

pstree | less

Hvis et brugernavn gives som et argument, viser pstree kun de processer, der ejes af denne bruger. For eksempel viser følgende kommando kun de processer, der er startet af en bruger med navnet "linuxize":

pstree linuxize

Når PID er angivet som et argument, viser pstree et træ med den givne proces som træets rod. Her er et eksempel:

pstree 1943

sshd───bash───pstree

For at vise overordnede processer i den givne proces skal du bruge indstillingen -s efterfulgt af proces-PID:

pstree -s 1943

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

Vis PID'er og PGID'er

Normalt, når du kører pstree kommandoen, er den vigtigste information, som brugeren leder efter, proces-id'et. For eksempel ved at kende PID giver dig mulighed for at dræbe en fejlfunktion.

Indstillingen -p instruerer pstree til at vise PID'erne:

pstree -p

PID'er vises i parentes efter hver proces eller tråd.

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

Som standard sorterer processer med den samme overordnede ved navn. Indstillingen -n fortæller at pstree skal bruge numerisk sortering, dvs. sortere efter PID'er:

pstree -pn

Procesgruppe-ID eller PGID'er er proces-ID for det første medlem af procesgruppen. For at se PGID'er skal du bruge indstillingen -g :

pstree -g

PID'er vises også i parentes efter hver proces eller tråd.

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

Når PID'er eller PGID'er vises, er fusion implicit deaktiveret.

Vis kommandolinjeargumenter

Nogle programmer kan aktiveres med konfigurationsindstillinger specificeret som kommandolinjeargumenter.

Som standard viser pstree dig ikke kommandolinjeargumenterne for de kørende processer. For at se, hvordan processen blev startet, skal du bruge kommandoen sammen med indstillingen -a :

pstree -a

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

Fremhævning

pstree giver dig også mulighed for at fremhæve processer for bedre visuel repræsentation.

Indstillingen -h instruerer pstree til at fremhæve den aktuelle proces og alle dens forfædre.

pstree -h

Hvis du vil fremhæve en bestemt proces, skal du bruge indstillingen -H efterfulgt af proces-id:

pstree -H PID_NUMBER

Hvis fremhævningen ikke understøttes, afsluttes kommandoen med en fejl.

Konklusion

Kommandoen pstree viser de kørende processer i form af en træstruktur.

For at få oplysninger om alle tilgængelige pstree indstillinger, skriv man pstree i din terminal.

ps terminal