Exemplu Utilizează comanda Linux ps

Introducere

Comanda ps produce o listă a proceselor care rulează în prezent pe computerul dvs.

Acest ghid vă va arăta cele mai comune utilizări ale comenzii ps, astfel încât să puteți profita la maximum de aceasta.

Comanda ps este folosită frecvent împreună cu comanda grep și comenzile mai mult sau mai puțin .

Aceste comenzi suplimentare ajută la filtrarea și paginarea ieșirii din ps, care poate fi de multe ori destul de lungă.

Cum se utilizează comanda ps

Pe cont propriu, comanda ps afișează procesele care rulează de către utilizatorul care îl rulează în cadrul unei ferestre terminale.

Pentru a invoca ps scrieți pur și simplu următoarele:

ps

Ieșirea va afișa rânduri de date care conțin următoarele informații:

PID este ID-ul procesului care identifică procesul de funcționare. TTY este tipul de terminal.

Pe cont propriu, comanda ps este destul de limitată. Probabil doriți să vedeți toate procesele care rulează.

Pentru a vedea toate procesele care rulează, utilizați una din următoarele comenzi:

ps -A

ps -e

Pentru a afișa toate procesele, cu excepția liderilor de sesiune, executați următoarea comandă:

ps -d

Deci, ce este un lider al sesiunii? Când un proces începe alte procese, acesta este liderul sesiunii tuturor celorlalte procese. Așa că imaginați procesul A începe procesul B și procesul C. Procesul B începe procesul D și procesul C începe procesul E. Când listați toate procesele cu excepția liderilor sesiunilor veți vedea B, C, D și E dar nu A.

Puteți anula oricare din selecțiile pe care le-ați ales utilizând comutatorul -N. De exemplu, dacă doriți să vedeți doar liderii sesiunii executați următoarea comandă:

ps -d-N

Evident că -N nu este foarte sensibil atunci când este utilizat cu comutatoarele -e sau -A, deoarece nu va arăta deloc.

Dacă doriți să vedeți numai procesele asociate cu acest terminal rulați următoarea comandă:

PST

Dacă doriți să vedeți toate procesele în execuție utilizând următoarea comandă:

ps r

Selectarea proceselor specifice utilizând comanda ps

Puteți să returnați anumite procese utilizând comanda ps și există diferite moduri de a modifica criteriile de selecție.

De exemplu, dacă cunoașteți id-ul procesului, puteți folosi pur și simplu următoarea comandă:

ps -p

Puteți selecta mai multe procese prin specificarea mai multor coduri de proces, după cum urmează:

ps -p "1234 9778"

De asemenea, le puteți specifica utilizând o listă separată prin virgulă:

ps -p 1234,9778

Șansele sunt că nu veți cunoaște ID-ul procesului și că este mai ușor să căutați prin comandă. Pentru aceasta utilizați următoarea comandă:

ps -C

De exemplu, pentru a vedea dacă rulează Chrome, puteți utiliza următoarea comandă:

ps-crom

S-ar putea să fiți surprins să vedeți că acest lucru returnează un proces pentru fiecare filă deschisă.

Alte metode de filtrare a rezultatelor sunt în funcție de grup. Puteți căuta după numele grupului utilizând următoarea sintaxă:

ps -G
ps --Grup

De exemplu, pentru a afla toate procesele gestionate de grupul de conturi, introduceți următoarele:

ps -G "conturi"
ps --Grupuri "conturi"

De asemenea, puteți căuta în funcție de id-ul grupului în loc de numele grupului, utilizând o literă mică, după cum urmează:

ps -g
ps - grupul

Dacă doriți să căutați după o listă de ID-uri de sesiune, utilizați următoarea comandă:

ps -s

Alternativ, folosiți următoarele pentru a căuta după tip de terminal.

ps -t

Dacă doriți să găsiți toate procesele rulate de un anumit utilizator, încercați următoarea comandă:

ps U

De exemplu, pentru a găsi toate procesele executate de Gary, executați următoarele:

ps U "gary"

Rețineți că aceasta indică persoana ale cărei acreditări sunt utilizate pentru a executa comanda. De exemplu, dacă sunt logat ca gary și execut comanda de mai sus, va afișa toată comanda rulată de mine.

Dacă mă conectez ca Tom și folosesc sudo pentru a rula o comandă ca mine, atunci comanda de mai sus va arăta comanda lui Tom ca fiind condusă de Gary și nu de Tom.

Pentru a limita lista doar la procesele gestionate cu adevărat de Gary, utilizați următoarea comandă:

ps -U "gary"

Formatarea comenzii ps Output

În mod implicit, obțineți aceleași 4 coloane atunci când utilizați comanda ps:

Puteți obține o listă completă executând următoarea comandă:

ps -ef

-e, după cum știți, arată toate procesele și f sau -f prezintă detaliile complete.

Coloanele returnate sunt după cum urmează:

ID-ul de utilizator este persoana care a executat comanda. PID este ID-ul procesului de comandă a comenzii. PPID este procesul părinte care a dat startul comenzii.

Coloana C arată numărul de copii pe care îl are un proces. STIMA este timpul de începere a procesului. TTY este terminalul, timpul este timpul necesar pentru a rula și comanda este comanda care a fost rulată.

Puteți obține mai multe coloane utilizând următoarea comandă:

ps-eF

Aceasta returnează următoarele coloane:

Coloanele suplimentare sunt SZ, RSS și PSR. SZ este dimensiunea procesului, RSS este dimensiunea reală a memoriei și PSR este procesorul la care este alocată comanda.

Puteți specifica un format definit de utilizator utilizând următorul switch:

ps -e --format

Formatele disponibile sunt următoarele:

Există multe opțiuni, dar acestea sunt cele mai frecvent utilizate.

Pentru a utiliza formatele, tastați următoarele:

ps -e --format = "timpul uid uname cmd"

Puteți amesteca și potrivi elementele așa cum doriți să fie ele.

Sortarea rezultatelor

Pentru a sorta ieșirea, utilizați următoarea notație:

ps -ef - sortare

Alegerea opțiunilor de sortare este după cum urmează:

Din nou există mai multe opțiuni disponibile, dar acestea sunt cele mai des întâlnite.

O comandă de sortare exemplu este după cum urmează:

ps -ef - utilizator utilizator, pid

Folosind ps Cu grep, mai puține și mai multe comenzi

După cum sa menționat la început, este normal să folosiți ps cu comenzile grep, mai puțin și mai mult.

Comenzile din ce în ce mai multe vă vor ajuta să treci prin rezultate câte o pagină în același timp. Pentru a folosi aceste comenzi, pur și simplu conduceți ieșirea de la grep în ele după cum urmează:

ps -ef | Mai Mult
ps -ef | Mai puțin

Comanda grep vă ajută să filtrați rezultatele din comanda ps.

De exemplu:

ps -ef | grep crom

rezumat

Comanda ps este folosită în mod obișnuit pentru listarea proceselor în Linux. De asemenea, puteți utiliza comanda de sus pentru a afișa procesele care rulează într-o manieră diferită.

Acest articol a acoperit comutatoarele comune, dar există mai multe opțiuni disponibile și mai multe de formatare și de sortare.

Pentru a afla mai multe citiți paginile manuale Linux pentru comanda ps.