Android

Pstree-kommando i Linux

How to use the pstree command: Linux tip

How to use the pstree command: Linux tip

Innehållsförteckning:

Anonim

När du arbetar på en Linux-maskin kanske du ibland måste ta reda på vilka processer som för närvarande körs. Det finns många kommandon som du kan använda för att hitta information om processerna, där ps och top är de mest använda., vi kommer att prata om pstree kommandot. Det liknar ps , men istället för att lista de löpande processerna, visar det dem i ett träd. Det trädliknande formatet är ett mer bekvämt sätt att visa processhierarkin och gör utgången mer visuellt tilltalande.

Hur man använder pstree kommandot

Den allmänna syntaxen för kommandot pstree är följande:

ps

I den enklaste formen när den åberopas utan något alternativ eller argument, visar pstree en hierarkisk trädstruktur för alla löpande 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 övre / rotelementet i trädet är överordnad process för alla systemprocesser. I det här exemplet är det systemd , som är den första processen som startar vid start.

pstree sammanfogar identiska grenar genom att placera dem mellan fyrkantiga parenteser och prefixera dem med ett heltal som representerar antalet grenar. Detta gör utgången mer läsbar och visuellt tilltalande.

Nedan visas ett exempel som visar hur fyrkantiga parenteser används:

├─2*

är samma som:

├─agetty ├─agetty

För att inaktivera sammanslagningen av identiska grenar använder du alternativet -c :

pstree -c

Trådarna i en process visas under överordnad process och visas med processnamnet inuti lockiga hängslen. Här är ett exempel:

├─lxcfs───2*

Använd alternativet -t att visa de fullständiga trådnamnen. Om du vill dölja trådar och visa bara processer använder -T alternativet -T .

Vanligtvis visar pstree många utmatningsrader som inte passar på skärmen. För att se utgången en sida i taget, rör den till kommandot less :

pstree | less

Om ett användarnamn ges som ett argument, visar pstree bara de processer som ägs av den användaren. Till exempel kommer följande kommando endast att visa de processer som har startats av en användare med namnet "linuxize":

pstree linuxize

När PID anges som ett argument visar pstree ett träd med den givna processen som roten på trädet. Här är ett exempel:

pstree 1943

sshd───bash───pstree

För att visa överordnade processer för den givna processen använder du alternativet -s följt av process-PID:

pstree -s 1943

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

Visa PID och PGID

Vanligtvis när den kör pstree kommandot är processens ID den viktigaste informationen som användaren letar efter. Till exempel, genom att känna till PID kan du döda en felaktig process.

Alternativet -p instruerar pstree att visa PID: er:

pstree -p

PID visas i parentes efter varje process eller tråd.

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

Som standard, pstree , sortera processer med samma överordnade efter namn. Alternativet -n berättar för pstree att använda numerisk sortering, dvs. sortera efter PID: er:

pstree -pn

Processgrupp-ID eller PGID är process-ID för den första medlemmen i processgruppen. Använd alternativet -g att visa PGID: er:

pstree -g

PID: er visas också inom parentes efter varje process eller tråd.

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

När PID eller PGID visas visas är sammanslagning implicit inaktiverad.

Visa kommandoradsargument

Vissa program kan åberopas med konfigurationsalternativ som anges som kommandoradsargument.

Som standard pstree dig inte kommandoradsargumenten för de löpande processerna. För att se hur processen startades använder du kommandot tillsammans med alternativet -a :

pstree -a

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

belysa

pstree låter dig också lyfta fram processer för bättre visuell representation.

Alternativet pstree instruerar pstree att markera den aktuella processen och alla dess förfäder.

pstree -h

För att markera en specifik process använder du alternativet -H följt av process-ID:

pstree -H PID_NUMBER

Om markeringen inte stöds kommer kommandot att avsluta med ett fel.

Slutsats

pstree kommandot visar processerna i form av en trädstruktur.

För information om alla tillgängliga pstree alternativ, skriv man pstree i din terminal.

ps terminal