How to use the pstree command: Linux tip
Cuprins:
- Cum se utilizează comanda
pstree - Afișare PID și PGID
- Afișați argumentele liniei de comandă
- Evidențiere
- Concluzie
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.
Utilizați linia de comandă cu comandă
Integrați linia de comandă, interfața grafică și o limbă puternică cu pachetul de instrumente Take Command. > Nu-ți place când vânezi un program pe care trebuie să-l faci, să-l găsești, și apoi să descoperi că face mai mult? Am găsit Command Command (100 $, încercare gratuită de 30 de zile) după ce am fost frustrat de linia de comandă necorespunzătoare din Windows. Am descoperit că mi-a dat ce vroiam și multe lucruri pe care nu știam că le-am vrut - dar acum cu siguranță o fac.
Comanda Chmod în linux (fișiere permisiuni)
În Linux, accesul la fișiere este gestionat prin permisiunile, atributele și proprietatea. Acest tutorial acoperă modul de utilizare a comenzii chmod pentru a modifica permisiunile de acces ale fișierelor și directoarelor.
Comanda Chgrp în linux (schimbare grup)
În Linux, fiecare fișier este asociat cu un proprietar și un grup și are permisiuni care determină utilizatorii care pot citi, scrie sau executa fișierul. Comanda chgrpc modifică proprietatea grupului de fișiere date.







