30 korisnih primjera 'ps Command' za praćenje procesa u Linuxu


ps (status procesa) je izvorni Unix/Linux uslužni program za pregled informacija u vezi sa odabirom pokrenutih procesa na sistemu: čita ove informacije iz virtuelnih datoteka u/proc sistem datoteka. To je jedan od važnih uslužnih programa za administraciju sistema posebno pod nadzorom procesa, koji vam pomaže da shvatite šta se dešava u Linux sistemu.

Ima brojne opcije za manipuliranje svojim izlazom, međutim, naći ćete mali broj njih praktično korisnih za svakodnevnu upotrebu.

Pročitajte također: Sve što trebate znati o procesima u Linuxu [Sveobuhvatan vodič]

U ovom članku ćemo pogledati 30 korisnih primjera ps naredbi za praćenje aktivnih pokrenutih procesa na Linux sistemu.

Imajte na umu da ps proizvodi izlaz sa linijom naslova, koji predstavlja značenje svake kolone informacija, značenje svih oznaka možete pronaći na ps man stranici.

Navedite sve procese u trenutnoj ljusci

1. Ako pokrenete ps komandu bez ikakvih argumenata, ona prikazuje procese za trenutnu ljusku.

ps 

Odštampajte sve procese u različitim formatima

2. Prikažite svaki aktivni proces na Linux sistemu u generičkom (Unix/Linux) formatu.

ps -A
OR
ps -e

3. Prikaži sve procese u BSD formatu.

ps au
OR
ps axu

4. Za izvođenje popisa u punom formatu dodajte oznaku -f ili -F.

ps -ef
OR
ps -eF

Prikaži pokrenute procese korisnika

5. Možete odabrati sve procese u vašem vlasništvu (pokretač ps komande, root u ovom slučaju), upišite:

ps -x 

6. Za prikaz korisničkih procesa prema stvarnom korisničkom ID-u (RUID) ili imenu, koristite oznaku -U.

ps -fU tecmint
OR
ps -fu 1000

7. Za odabir korisničkih procesa prema efektivnom korisničkom ID-u (EUID) ili imenu, koristite opciju -u .

ps -fu tecmint
OR
ps -fu 1000

Ispis svih procesa koji se pokreću kao root (stvarni i efektivni ID)

8. Naredba u nastavku vam omogućava da vidite svaki proces koji se izvodi sa root korisničkim privilegijama (pravi i efektivni ID) u korisničkom formatu.

ps -U root -u root 

Prikaži grupne procese

9. Ako želite navesti sve procese u vlasništvu određene grupe (stvarni ID grupe (RGID) ili naziv), upišite.

ps -fG apache
OR
ps -fG 48

10. Da ispišete sve procese u vlasništvu efektivnog naziva grupe (ili sesije), upišite.

ps -fg apache

Prikaz procesa po PID-u i PPID-u

11. Možete navesti procese prema PID-u kako slijedi.

ps -fp 1178

12. Da odaberete proces prema PPID-u, upišite.

ps -f --ppid 1154

13. Napravite izbor koristeći PID listu.

ps -fp 2226,1154,1146

Prikaži procese po TTY

14. Za odabir procesa prema tty, koristite oznaku -t kako slijedi.


ps -t pts/0
ps -t pts/1
ps -ft tty1

Štampanje stabla procesa

15. Stablo procesa pokazuje kako su procesi u sistemu međusobno povezani; procese čiji su roditelji ubijeni usvaja init (ili systemd).

ps -e --forest 

16. Također možete odštampati stablo procesa za dati proces kao što je ovaj.

ps -f --forest -C sshd
OR
ps -ef --forest | grep -v grep | grep sshd 

Print Process Threads

17. Da odštampate sve niti procesa, koristite oznaku -L, ovo će prikazati LWP (lagani proces), kao i kolone NLWP (broj lakih procesa).

ps -fL -C httpd

Odredite prilagođeni izlazni format

Koristeći opcije -o ili –format, ps vam omogućava da napravite korisnički definirane izlazne formate kao što je prikazano ispod.

18. Da navedete sve specifikacije formata, uključite oznaku L.

ps L

19. Naredba u nastavku vam omogućava da vidite PID, PPID, korisničko ime i naredbu procesa.

ps -eo pid,ppid,user,cmd

20. Ispod je još jedan primjer prilagođenog izlaznog formata koji prikazuje grupu sistema datoteka, lijepu vrijednost, vrijeme početka i proteklo vrijeme procesa.

ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

21. Da biste pronašli naziv procesa koristeći njegov PID.

ps -p 1154 -o comm=

Prikaži roditeljske i podređene procese

22. Da odaberete određeni proces prema njegovom imenu, koristite oznaku -C, ovo će također prikazati sve njegove podređene procese.

ps -C sshd

23. Pronađite sve PID-ove svih instanci procesa, što je korisno kada pišete skripte koje trebaju čitati PID-ove iz standardnog izlaza ili datoteke.

ps -C httpd -o pid=

24. Provjerite vrijeme izvršenja procesa.

ps -eo comm,etime,user | grep httpd

Ispis ispod pokazuje da je HTTPD usluga pokrenuta 1 sat, 48 minuta i 17 sekundi.

Rješavanje problema s performansama Linux sistema

Ako vaš sistem ne radi kako bi trebao biti, na primjer, ako je neobično spor, možete izvršiti neko rješavanje problema sa sistemom na sljedeći način.

26. Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

27. Za ubijanje Linux procesa/nereagirajućih aplikacija ili bilo kojeg procesa koji troši puno procesorskog vremena.

Prvo pronađite PID procesa ili aplikacije koja ne reagira.

ps -A | grep -i stress

Zatim koristite naredbu kill da biste je odmah prekinuli.

kill -9 2583 2584

Print Security Information

28. Prikažite sigurnosni kontekst (posebno za SELinux) ovako.

ps -eM
OR
ps --context

29. Također možete prikazati sigurnosne informacije u korisnički definiranom formatu pomoću ove naredbe.

ps -eo  euser,ruser,suser,fuser,f,comm,label

Izvršite praćenje procesa u realnom vremenu koristeći Watch Utility

30. Konačno, pošto ps prikazuje statičke informacije, možete koristiti pomoćni program za sat za obavljanje nadzora procesa u realnom vremenu s ponavljajućim izlazom, koji se prikazuje nakon svake sekunde kao u naredbi ispod (navedite prilagođenu ps komandu da biste postigli svoj cilj).

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

Važno: ps prikazuje samo statičke informacije, za pregled često ažuriranog izlaza možete koristiti alate kao što je htop; vrh, i pogledi: zadnja dva su u stvari alati za praćenje performansi Linux sistema.

Možda biste željeli pročitati i sljedeće povezane članke.

  1. Kako pronaći naziv procesa koristeći PID broj u Linuxu
  2. Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a u Linuxu
  3. Vodič za naredbe Kill, Pkill i Killall za završetak procesa u Linuxu
  4. Kako pronaći i uništiti pokrenute procese u Linuxu
  5. Kako pokrenuti Linux naredbu u pozadini i odvojiti proces u terminalu

To je sve za sada. Ako imate neke korisne primjere ps komande za dijeljenje (ne zaboravljajući objasniti šta radi), koristite formular za komentare ispod.