30 Exemple utile de „comandă ps” pentru monitorizarea proceselor Linux
ps (starea proceselor) este un utilitar nativ Unix / Linux pentru vizualizarea informațiilor referitoare la o selecție a proceselor care rulează pe un sistem: citește aceste informații din fișierele virtuale din sistemul de fișiere / proc. Este unul dintre utilitățile importante pentru administrarea sistemului în mod special sub monitorizarea proceselor, pentru a vă ajuta să înțelegeți ce se întâmplă pe un sistem Linux.
Are numeroase opțiuni pentru manipularea ieșirii sale, totuși veți găsi o mică numărul acestora este practic util pentru utilizarea zilnică.
Citiți și: Tot ce trebuie să știți despre procese în Linux
În acest articol, vom analiza 30 de exemple utile de comenzi ps pentru monitorizarea proceselor active care rulează pe un sistem Linux.
Rețineți că ps produce ieșire cu o linie de titlu, care reprezintă semnificația fiecărei coloane de informații, puteți găsi semnificația tuturor etichetelor din ps man pagină.
Listează toate procesele din Shell curent
1. Dacă rulați comanda ps fără niciun argument, acesta afișează procesele pentru shell-ul curent.
$ ps
Tipărește toate procesele în diferite formate
2. Afișați fiecare proces activ pe un sistem Linux în format generic (Unix / Linux).
$ ps -AOR$ ps -e
3. Afișați toate procesele în format BSD.
$ ps auOR$ ps axu
4. Pentru a efectua o listare în format complet, adăugați semnalizatorul -f
sau -F
.
$ ps -efOR$ ps -eF
Afișați procesele care rulează de utilizator
5. Puteți selecta toate procesele deținute de dvs. (alergător al comenzii ps, root în acest caz), tastați:
$ ps -x
6. Pentru a afișa procesele unui utilizator în funcție de ID-ul de utilizator real (RUID) sau nume, utilizați semnalizatorul -U
.
$ ps -fU tecmintOR$ ps -fu 1000
7. Pentru a selecta procesele unui utilizator în funcție de ID de utilizator (EUID) sau nume efectiv, utilizați opțiunea -u
.
$ ps -fu tecmintOR$ ps -fu 1000
Tipăriți toate procesele care rulează ca rădăcină (ID real și efectiv)
8. Comanda de mai jos vă permite să vizualizați fiecare proces care rulează cu privilegii de utilizator root (real & ID efectiv) în format de utilizator.
$ ps -U root -u root
Afișare procese de grup
9. Dacă doriți să listați toate procesele deținute de un anumit grup (ID-ul grupului real (RGID) sau numele), tastați.
$ ps -fG apacheOR$ ps -fG 48
10. Pentru a lista toate procesele deținute de numele efectiv al grupului (sau sesiunea), tastați.
$ ps -fg apache
Afișați procesele prin PID și PPID
11. Puteți lista procesele după PID după cum urmează.
$ ps -fp 1178
12. Pentru a selecta procesul prin PPID, tastați.
$ ps -f --ppid 1154
13. Selectați utilizând lista PID.
$ ps -fp 2226,1154,1146
Afișare procese prin TTY
14. Pentru a selecta procesele în funcție de tty, utilizați steagul -t după cum urmează.
$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Arborele procesului de imprimare
15. Un arbore de proces arată modul în care procesele din sistem sunt legate între ele; procesele ai căror părinți au fost uciși sunt adoptate de init (sau systemd).
$ ps -e --forest
16. De asemenea, puteți imprima un arbore de proces pentru un anumit proces ca acesta.
$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd
Tipărirea firelor de proces
17. Pentru a imprima toate firele unui proces, utilizați steagul -H
, acesta va afișa coloanele LWP (proces de greutate redusă), precum și NLWP (numărul de procese de greutate redusă).
$ ps -fL -C httpd
Specificați formatul personalizat de ieșire
Folosind opțiunile -o sau –format, ps vă permite să creați formate de ieșire definite de utilizator, așa cum se arată mai jos.
18. Pentru a enumera toți specificatorii de format, includeți semnalizatorul L
.
$ ps L
19. Comanda de mai jos vă permite să vizualizați PID, PPID, numele de utilizator și comanda unui proces.
$ ps -eo pid,ppid,user,cmd
20. Mai jos este un alt exemplu de format de ieșire personalizat care afișează grupul de sistem de fișiere, valoarea frumoasă, timpul de pornire și timpul scurs al unui proces.
$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
21. Pentru a găsi un nume de proces utilizând PID-ul său.
$ ps -p 1154 -o comm=
Afișați procesele părinte și copil
22. Pentru a selecta un anumit proces după numele său, utilizați steagul -C, acesta va afișa, de asemenea, toate procesele sale secundare.
$ ps -C sshd
23. Găsiți toate PID-urile tuturor instanțelor unui proces, utile la scrierea de scripturi care trebuie să citească PID-uri dintr-o ieșire sau fișier standard.
$ ps -C httpd -o pid=
24. Verificați timpul de execuție al unui proces.
$ ps -eo comm,etime,user | grep httpd
Ieșirea de mai jos arată că serviciul HTTPD funcționează de 1 oră, 48 de minute și 17 secunde.
Depanare Performanța sistemului Linux
Dacă sistemul dvs. nu funcționează așa cum ar trebui, de exemplu, dacă este neobișnuit de lent, puteți efectua o depanare a sistemului, după cum urmează.
26. Găsiți procesele de top care rulează în funcție de cea mai mare memorie și utilizare a procesorului în Linux.
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
27. Pentru a elimina un proces Linux / aplicații care nu răspund sau orice proces care consumă timp ridicat de procesor.
Mai întâi, găsiți PID-ul procesului sau aplicației care nu răspunde.
$ ps -A | grep -i stress
Apoi utilizați comanda kill pentru a o termina imediat.
$ kill -9 2583 2584
Tipăriți informații de securitate
28. Afișați contextul de securitate (special pentru SELinux) ca acesta.
$ ps -eMOR$ ps --context
29. De asemenea, puteți afișa informații de securitate în format definit de utilizator cu această comandă.
$ ps -eo euser,ruser,suser,fuser,f,comm,label
Efectuează monitorizarea proceselor în timp real utilizând Utilitarul Watch
30. În cele din urmă, deoarece ps afișează informații statice, puteți utiliza utilitarul de ceas pentru a efectua monitorizarea proceselor în timp real cu ieșire repetitivă, afișată după fiecare secundă ca în comanda de mai jos (specificați o comandă ps personalizată pentru a vă atinge obiectivul).
$ watch -n 1 "ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head"
Important: ps afișează doar informații statice, pentru a vizualiza rezultatele actualizate frecvent puteți utiliza instrumente precum htop; sus și priviri: ultimele două sunt de fapt instrumentul de monitorizare a performanței sistemului Linux.
S-ar putea să doriți, de asemenea, să citiți următoarele articole conexe.
- Cum să găsiți un nume de proces utilizând numărul PID în Linux
- Găsiți cele mai bune procese care rulează după cea mai mare utilizare a memoriei și a procesorului în Linux
- Un ghid pentru Comenzile Kill, Pkill și Killall pentru a termina un proces în Linux
- Cum să găsiți și să ucideți procesele care rulează în Linux
- Cum să porniți comanda Linux în fundal și să detașați procesul în terminal