Î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 comandaps
, 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 spuneps
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șteps
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 fiZ
(zombie),S
(dormit) șiR
(î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șteps
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 caUSER
, utilizatorul care rulează procesul. -
PPID
– ID-ul procesului părinte. -
C
– Sam ca%CPU
, utilizarea procesorului. -
STIME
– La fel caSTART
, 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.