Android

Comanda Pstree în linux

How to use the pstree command: Linux tip

How to use the pstree command: Linux tip

Cuprins:

Anonim

Când lucrați pe o mașină Linux, uneori poate fi necesar să aflați ce procese se execută în prezent. Există o serie de comenzi pe care le puteți utiliza pentru a găsi informații despre procesele de rulare, ps și top fiind cele mai frecvent utilizate., vom vorbi despre comanda pstree . Este similar cu ps , dar în loc să enumere procesele de rulare, le arată într-un arbore. Formatul arborelui este un mod mai convenabil de afișare a ierarhiei proceselor și face ieșirea mai atrăgătoare vizual.

Cum se utilizează comanda pstree

Sintaxa generală pentru comanda pstree este următoarea:

ps

În cea mai simplă formă când este invocată fără nicio opțiune sau argument, pstree afișează o structură arbore ierarhică a tuturor proceselor pstree :

pstree

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

Elementul de sus / rădăcină din arbore este procesul părinte al tuturor proceselor de sistem. În acest exemplu, este systemd , care este primul proces care începe pe boot.

pstree contopește ramuri identice, punându-le între paranteze pătrate și prefixându-le cu un număr întreg care reprezintă numărul de ramuri. Acest lucru face ca ieșirea să fie mai lizibilă și mai atrăgătoare vizual.

Mai jos este un exemplu care arată cum sunt utilizate parantezele pătrate:

├─2*

este la fel ca:

├─agetty ├─agetty

Pentru a dezactiva îmbinarea ramurilor identice, utilizați opțiunea -c :

pstree -c

Firele unui proces sunt afișate în cadrul procesului părinte și sunt afișate folosind numele procesului în interiorul bretelelor cretate. Iată un exemplu:

├─lxcfs───2*

Utilizați opțiunea -t pentru a afișa numele firelor complete. Dacă doriți să ascundeți firele și să afișați doar procesele, utilizați opțiunea -T .

De obicei, pstree afișează multe linii de ieșire care nu se potrivesc pe ecran. Pentru a vizualiza o pagină de ieșire o dată, conectați-o la comanda less :

pstree | less

Dacă un nume de utilizator este dat ca argument, pstree arată doar procesele deținute de acel utilizator. De exemplu, următoarea comandă va afișa doar acele procese care au fost pornite de un utilizator numit „linuxize”:

pstree linuxize

Când PID este specificat ca argument, pstree afișează un arbore cu procesul dat ca rădăcină. Iată un exemplu:

pstree 1943

sshd───bash───pstree

Pentru a afișa procesele părinte ale procesului dat, utilizați opțiunea -s urmată de PID-ul procesului:

pstree -s 1943

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

Afișare PID și PGID

De obicei, atunci când executați comanda pstree , cele mai importante informații pe care le caută utilizatorul sunt ID-ul procesului. De exemplu, cunoașterea PID vă permite să omorâți un proces funcțional.

Opțiunea -p instruiește pstree să arate PID-urile:

pstree -p

PID-urile sunt afișate între paranteze după fiecare proces sau thread.

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

În mod implicit, pstree , sortează procesele cu același părinte după nume. Opțiunea -n spune pstree să folosească sortarea numerică, adică sortarea după PID-uri:

pstree -pn

ID-ul grupului de proces sau PGID-urile este procesul de identificare al primului membru al grupului de proces. Pentru a vizualiza PGID-urile, utilizați opțiunea -g :

pstree -g

PID-urile sunt, de asemenea, afișate între paranteze după fiecare proces sau thread.

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

Când sunt afișate PID sau PGID, fuziunea este implicit dezactivată.

Afișați argumentele liniei de comandă

Unele programe pot fi invocate cu opțiuni de configurare specificate ca argumente în linia de comandă.

În mod implicit, pstree nu vă arată argumentele liniei de comandă pentru procesele rulate. Pentru a vedea cum a fost început procesul, utilizați comanda împreună cu opțiunea -a :

pstree -a

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

Evidențiere

pstree vă permite, de asemenea, să evidențiați procesele pentru o mai bună reprezentare vizuală.

Opțiunea -h pstree să evidențieze procesul curent și toți strămoșii săi.

pstree -h

Pentru a evidenția un proces specific, utilizați opțiunea -H urmată de ID-ul procesului:

pstree -H PID_NUMBER

Dacă evidențierea nu este acceptată, comanda va ieși cu o eroare.

Concluzie

Comanda pstree afișează procesele de rulare sub forma unei structuri de arbori.

Pentru informații despre toate opțiunile pstree disponibile, tastați man pstree în terminalul dvs.

ps terminal