Articles

comanda ps AUX și comanda ps explicate

acest tutorial explică modul de utilizare a comenzii ps în Linux. De asemenea, oferă peste 10 exemple practice ale comenzii ps. Aflați cum să citiți în detaliu ieșirea comenzii ps aux.

o scurtă introducere a comenzii ps

comanda ps (process status) este una dintre cele mai frecvent utilizate comenzi în Linux. De obicei, este folosit pentru a obține informații mai detaliate despre un anumit proces sau toate procesele. De exemplu, este folosit pentru a ști dacă un anumit proces se execută sau nu, care se execută ce proces în sistem, care proces este folosind memorie mai mare sau CPU, cât timp un proces se execută, etc.

LAB Setup

pentru practică, începe unele aplicații și păstrați-le rulează. Comutați contul de utilizator și repetați același proces.

configurarea laboratorului pentru practica comenzii ps

acum să presupunem că sunteți administrator de sistem și că sunteți administrator de sistem doriți să știți ce se întâmplă în sistem.În acest caz, puteți utiliza comanda ps pentru a obține informațiile solicitate.

folosind comanda ps

deschideți terminalul și executați comanda ps

comanda ps fără opțiune și argument

fără nicio opțiune și argument, comanda ps arată doar procesul care rulează sub contul de utilizator conectat de la terminalul curent.

s-ar putea să vă întrebați de ce comanda ps afișează două procese în timp ce nu am executat niciun proces de la acest terminal până acum.

Ei bine… primul proces arată procesul în care acest terminal este deschis. Acest proces rămâne deschis, până când terminalul este deschis.

al doilea proces arată ultima comandă executată în acest terminal.

specificarea opțiunilor cu comanda ps

comanda ps acceptă opțiuni în trei stiluri.

BSD stil UNIX: – în acest stil, opțiunile sunt furnizate fără nici o liniuță de conducere (cum ar fi „aux”).

AT& t stil Unix: – în acest stil, opțiunile sunt furnizate cu o liniuță de conducere (cum ar fi „-aux”).

GNU Linux style: – în acest stil, opțiunile sunt furnizate cu liniuțe duble de conducere (cum ar fi „–sort”).

deși comanda PS acceptă opțiuni în stilul mix, ar trebui să utilizați întotdeauna un singur stil pentru a specifica opțiunile.

Exemple de bază ale comenzii ps

pentru a imprima toate procesele care rulează în sistem, utilizați oricare dintre următoarele comenzi.

$ps –A$ps -e

comenzile ps-a și ps-e

opțiunile A și e oferă o prezentare generală a rulării processes.To imprimați prezentarea detaliată, utilizați opțiunile f (format complet) și F (format complet suplimentar) cu aceste opțiuni.

comenzile ps-ef și ps-af

pentru a vizualiza aceeași ieșire în stil BSD Unix, utilizați opțiunile „aux”.

comanda ps aux

comanda „ps aux” este cea mai frecvent utilizată comandă de către administratorii Linux. Înainte de a trece la următorul exemplu, să înțelegem în detaliu opțiunile utilizate în această comandă.

Opțiuni de comandă ps aux

a:- această opțiune imprimă procesele care rulează de la toți utilizatorii.

u:- această opțiune afișează coloana utilizator sau proprietar în ieșire.

x:- Această opțiune imprimă procesele care nu au fost executate de la terminal.

în mod colectiv, opțiunile „aux” imprimă tot procesul care rulează în sistem, indiferent de locul în care au fost executate.

descrierea comenzii ps aux coloană cu coloană
coloană descriere
utilizator contul de utilizator sub care se execută acest proces
PID ID-ul procesului acestui proces
%CPU timpul procesorului utilizat de acest proces (în procente).
%mem memoria fizică utilizată de acest proces (în procente).
VSZ memorie virtuală utilizată de acest proces (în octeți).
RSS Resident Set Size, memoria fizică non-swappable utilizată de acest proces (în KiB)
TTY Terminal de la care este pornit acest proces. Semn de întrebare (?) semn reprezintă faptul că acest proces nu este pornit de la un terminal.
STAT starea procesului. Explicat în tabelul următor.
START ora și data începerii acestui proces
ora timpul total al procesorului utilizat de acest proces
comanda comanda cu toate argumentele sale care au început acest proces
PS aux stat cod cu descriere
d somn neîntreruptibil (de obicei io)
r Running sau runnable (pe coadă run)
s somn întreruptibil (în așteptarea finalizării unui eveniment)
t oprit de semnal de control de locuri de muncă
t oprit de depanator în timpul urmăririi
w paginare (nu este valabil de la 2.6.XX kernel)
x mort (nu ar trebui să fie văzut)
z defunct („zombie”) proces, terminat, dar nu culese de către părintele său
< de înaltă prioritate (nu frumos pentru alți utilizatori)
n prioritate redusă (frumos pentru alți utilizatori)
l are pagini blocate în memorie (pentru timp real și personalizat io)
s este un lider de sesiune
l este multi-threaded (folosind clone_thread, cum ar fi pthreads nptl face)
+ este în grupul de proces prim-plan
puncte cheie
  • utilizarea procesorului este exprimată ca procent din timpul petrecut în timpul întregii durate de viață a unui proces.
  • câmpurile dimensiune și RSS nu numără unele părți ale unui proces, inclusiv tabelele de pagini, kernel stack, struct thread_info și Struct task_struct.
  • dimensiunea este dimensiunea virtuală a procesului (Cod+date+stivă).
  • procesele marcate<defunct> sunt procese moarte (așa-numitele „zombi”) care rămân deoarece părintele lor nu le-a distrus în mod corespunzător.
  • dacă lungimea numelui de utilizator este mai mare decât lungimea coloanei de afișare, numele de utilizator va fi trunchiat.

10+ exemple practice ale comenzii ps

pentru a afișa toate procesele care rulează sub contul de utilizator root, utilizați următoarea comandă.

$ps -U root -u root

În această comandă:-

-U: – selectați procesul bazat pe ID-ul de utilizator real sau numele.

-u: – selectați procesul pe baza ID-ului de utilizator sau a numelui efectiv.

RUID (Real User ID) reprezintă numele utilizatorului, în timp ce Euid (Effective User ID) descrie utilizatorul ale cărui permisiuni de acces la fișiere sunt utilizate de proces.

comanda ps-u-U

pentru a afișa toate procesele care rulează de un anumit cont de utilizator, utilizați următoarea comandă.

$ps –U –u 

comanda ps afișează toate procesele care rulează sub un singur cont de utilizator

pentru a afișa toate procesele care rulează sub un anumit grup, utilizați următoarea comandă.

$ps –G 

pentru o prezentare detaliată, putem combina și opțiunea –G cu opțiunea –F.

$ps –FG 

comanda ps-FG

pentru a afișa toate procesele în ierarhie, putem folosi următoarea comandă.

$ps –A --forest

ps-a --forest

afișarea doar coloană specifică

Implicit Comanda ps afișează toate coloanele. Dacă ne interesează doar anumite coloane, putem limita ieșirea specificând numele coloanelor necesare ca argumente.

de exemplu, pentru a vizualiza doar coloanele PID, USER și CMD, putem folosi următoarea comandă.

$ps –eo pid,user,cmd

PS vizualizarea coloanei limitate

găsirea procesului care utilizează cea mai mare memorie

în mod implicit, comanda ps nu sortează ieșirea. Prin setarea ordinii de sortare la %MEM, putem găsi procesele care consumă amintiri mai mari.

pentru a seta ordinea de sortare, se utilizează opțiunea –sort=. De asemenea, putem combina această opțiune cu alte opțiuni pentru a obține ieșirea mai specifică.

de exemplu, să afișăm doar câmpurile specifice și să le ordonăm după utilizările memoriei.

$ps –eo pid,user,%mem,cmd --sort=-%mem

ieșire ps Sortați după utilizările memoriei

limitarea ieșirii

Implicit, Comanda ps nu limitează rezultatul în ieșire.Dacă suntem interesați doar să cunoaștem primele trei procese care consumă cea mai mare memorie,în loc să afișăm ieșirea comenzii ps în terminal, o putem redirecționa către comanda principală.

în mod implicit, comanda head afișează primele 10 linii din sursa furnizată.Putem suprascrie acest comportament implicit specificând numerele de linie necesare.

pentru a afișa numai primele trei procese, putem folosi opțiunea „-n 4” cu comanda head.

ieșire limită ps

pentru 3 rezultate, furnizați cifra 4 ca argument. Ca și în ieșirea comenzii ps, prima linie este ocupată de titluri.

găsirea procesului care utilizează cel mai mare CPU

la fel cum ne-am dat seama de cele mai mari procese consumatoare de memorie,putem găsi și cele mai mari procese consumatoare de CPU prin sortarea ieșirii pe baza coloanei CPU.De exemplu, următoarea comandă imprimă top 3 procese ordonate de utilizarea procesorului.

$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4

ieșire ps Sortare după uzanțele procesorului

Găsirea numărului total de procese care rulează de către un utilizator

pentru a afla numărul total de procese care rulează de către un utilizator, utilizați următoarea comandă

$ps –U –u | wc –l