Comandă Ps în Linux (Lista proceselor)

În Linux, o instanță care rulează a unui program se numește proces. Ocazional, când lucrați pe o mașină Linux, poate fi necesar să aflați ce procese rulează în prezent.

Există un număr de comenzi pe care le puteți utiliza pentru a găsi informații despre procesele care rulează, cu ps, pstree și top fiind cele mai utilizate.

Aceasta articolul explică modul de utilizare a comenzii ps pentru a enumera procesele care rulează în prezent și pentru a afișa informații despre aceste procese.

Cum se utilizează comanda ps #

Sintaxa generală pentru comanda ps este după cum urmează:

Din motive istorice și de compatibilitate, comanda ps acceptă mai multe tipuri diferite de opțiuni:

  • Opțiuni stil UNIX, precedate de o singură liniuță.
  • Opțiuni de stil BSD, utilizate fără liniuță.
  • Opțiuni lungi GNU, precedate de două liniuțe.

Diferite tipuri de opțiuni ca nu poate fi amestecat, dar în unele cazuri particulare pot apărea conflicte, deci este mai bine să rămâneți cu un singur tip de opțiune.

Opțiunile BSD și UNIX pot fi grupate.

În cel mai simplu formular, atunci când este utilizat fără nicio opțiune, ps va imprima patru coloane de informații pentru cel puțin două procese care rulează în shell-ul curent, shell-ul în sine și procesele care rulează în shell atunci când comanda a fost invocată.

Ieșirea include informații despre shell (bash) și procesul care rulează în acest shell (ps, comanda pe care ați introdus-o):

Cele patru coloane sunt etichetate PID, TTY, TIME și CMD.

  • PID – ID-ul procesului. De obicei, atunci când executați comanda ps, cele mai importante informații pe care le caută utilizatorul este procesul PID. Cunoașterea PID vă permite să eliminați un proces care nu funcționează corect.
  • TTY – Numele terminalului de control al procesului.
  • TIME – Timpul cumulativ al procesului, afișat în minute și secunde.
  • CMD – Numele comenzii care a fost folosit pentru a porni procesul.

Rezultatul de mai sus nu este foarte util deoarece nu conține prea multe informații. Puterea reală a comenzii ps vine atunci când este lansată cu opțiuni suplimentare.

Comanda ps acceptă un număr mare de opțiuni care pot fi utilizate pentru a afișa un anumit grup de procese și informații diferite despre proces, dar sunt necesare doar o mână în utilizarea de zi cu zi.

ps este cel mai frecvent utilizat cu următoarea combinație de opțiuni:

formular BSD:

  • a opțiunea spune ps să afișeze procesele tuturor utilizatorilor. Numai procesele care nu sunt asociate cu un terminal și procesele liderilor de grup nu sunt afișate.
  • u reprezintă un format orientat către utilizator care oferă informații detaliate despre procese.
  • Opțiunea x instruiește ps să listeze procesele fără un terminal de control. Acestea sunt în principal procese care sunt pornite în timpul pornirii și rulează în fundal.

Comanda afișează informații în unsprezece coloane etichetate USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY, TIME și CMD.

Am explicat deja PID, TTY, TIME și CMD etichete. Iată o explicație a altor etichete:

  • USER – Utilizatorul care rulează procesul.
  • %CPU – Utilizarea CPU a procesului.
  • %MEM – Procentul de rezidență a procesului stabilit de dimensiunea memoriei fizice de pe aparat .
  • VSZ – Dimensiunea memoriei virtuale a procesului în KiB.
  • RSS – Dimensiunea memoriei fizice pe care o folosește procesul.
  • STAT – Codul stării procesului, cum ar fi Z (zombie), S (dormit) și R (în funcțiune).
  • START – Ora la care a început comanda.

Opțiunea f spune ps să afișeze o vizualizare arborescentă a proceselor părinte-copil:

Comanda ps vă permite, de asemenea, să sortați ieșirea. De exemplu, pentru a sorta ieșirea pe baza utilizării memoriei, ar trebui să utilizați:

Formular UNIX:

  • Opțiunea -e instruiește ps să afișeze toate procesele.
  • -f reprezintă listarea în format complet, care oferă informații detaliate despre procese.

Comanda afișează informații în opt coloane etichetate UID, PID, PPID, C, STIME, TIME și CMD.

Etichetele care nu sunt deja explicate au următorul sens:

  • UID – La fel ca USER, utilizatorul care rulează procesul.
  • PPID – ID-ul procesului părinte.
  • C – Sam ca %CPU, utilizarea procesorului.
  • STIME – La fel ca START, ora la care a început comanda.

Pentru a vizualiza doar procesele care rulează ca un anumit utilizator, tastați următoarea comandă, unde linuxize este numele utilizatorului:

Format definit de utilizator #

o opțiunea vă permite să specificați ce coloane sunt afișate atunci când rulați comanda ps.

De exemplu, pentru a imprima informații numai despre PID și COMMAND, ați rula una dintre următoarele comenzi:

Utilizarea ps cu alte comenzi #

ps poate fi utilizat în combinație cu alte comenzi prin canalizare.

Dacă doriți să afișați ieșirea comenzii ps, o pagină la un moment dat Adăugați-l la comanda less:

Ieșirea ps comanda poate fi filtrată cu grep. De exemplu, pentru a afișa doar procesul aparținând utilizatorului root, ați rula:

Concluzie #

ps este una dintre cele mai frecvent utilizate comenzi la depanarea problemelor de pe sistemele Linux. Are multe opțiuni, dar, de obicei, majoritatea utilizatorilor folosesc fie ps aux, fie ps -ef pentru a aduna informații despre procesele care rulează.

Pentru mai multe informații despre ps, tastați man ps în terminalul dvs.

Write a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *