Komanda ps

Komanda ps jedna je od osnovnih komandi Linux sistema, a služi za prikaz aktivnih procesa. Pomalo je prevaziđena jer prikazuje samo trenutno stanje, u momentu zadavanja, i svi sada koriste top ili htop koji daju i promene u realnom vremenu...

Komanda je deo praktično svih distribucija i ne treba se instalirati. Evo kako se koristi:

Osnovna komadna za ispis svih procesa je:

ps -e
ali je dobro dodati i opciju -f koja će prikazati više korisnih informacija:

ps -ef
Lista je predugačka za jedan ekran pa je preporučljivo "pajpovati" komandu u less:

ps -ef | less
Ovo daje istu listu procesa, ali je lomi na stranice, pa je preglednije.

Komanda_ps_slika_01


Na BSD sistemima sintaksa ps komande je malo drugačija, pa ovo:
ps aux
daje iste informacije kao i prethodne komande na Linux sistemima.


Ukoliko želimo da prikažemo procese određenog korisnika sistema, dodajemo okidač -u:
ps -f -u mihajlo
Ovo će nam ispisati sve procese korisnika mihajlo.

Za procese dva ili više korisnika samo ih dodajemo posle zareza:
ps -f -u mihajlo,goran
Prikazuje procese korisnika mihajlo i korisnika goran.

Prikaz procesa možemo ograničiti i prema imenu ili process id-u:
ps -C firefox
Daje nam prikaz svih procesa sa imenom firefox. Znači, ova komanda daje samo one procese koji se TAČNO zovu firefox. Da bi dobili SVE procese koji sadrže reč firefox bolje je da ispis osnovne komande predamo grep-u:
ps -ef | grep firefox
Za pretragu po process id koristi se opcija -p:
ps -f -p 1681,16530
Ovo prikazuje procese sa ova dva process id, a može ih se još dodati, razdvojene zarezom.

Komanda_ps_slika_02

Ukoliko nam je potreban prikaz samo određenih kolona, može se zadati opcija -o:
ps -e -o pid,uname,pcpu,pmem,comm
Ovako dobijamo lep ispis bitnih informacija.
Opcijom -o možemo prikazati i kolonu elapsed time, koja se ne vidi u standardnim ispisima, a prikazuje koliko dugo je koji proces aktivan:
ps -e -o pid,comm,etime

Komanda_ps_slika_03

Sortiranje prema procesima koji najviše opterećuju procesor i memoriju postižemo dodavanjem --sort predhodnoj komandi i predajom njenog rezultata komandi head:
ps -e -o pid,uname,pcpu,pmem,comm --sort=-pcpu | head -6
ovim dobijamo 5 procesa koji su najintenzivniji na CPU.
ps -e -o pid,uname,pcpu,pmem,comm --sort=-pmem | head -6
prikazuje 5 procesa koji zauzimaju najviše RAM.


Za prikaz procesa koji vrše NAJMANJE opterećenje postavlja se --sort=+pcpu odnosno --sort=+pmem


Ovo je već domen programa top i htop, komande su dugačke i preporučujem da ih dodate u vaše aliase, u .bashrc. Da i ps prikazuje real time informacije, kao što to radi top, zadajte komandu:
watch -n 3 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -16'
Ona će vam prikazati listu 15 procesa koji su najintenzivniji na CPU i RAM, a koja se svake tri sekunde osvežava.

Komanda_ps_slika_04

Leave a Reply

Your email address will not be published. Required fields are marked *