logo

Cum să enumerați procesele care rulează în Linux | Comanda ps

După cum știm cu toții, Linux este un sistem multitasking și multi-utilizator. Așadar, permite mai multor procese să funcționeze simultan fără a interfera unele cu altele. Procesul este unul dintre conceptele fundamentale importante ale sistemului de operare Linux. Un proces este o instanță de execuție a unui program care efectuează diferite sarcini în cadrul sistemului de operare.

Cuprins



Ce este un proces în Linux?

În Linux, un proces este o instanță care rulează a unui program. Când executați un program, acesta devine un proces, o entitate independentă, executantă, cu propriul spațiu de memorie. Fiecărui proces i se atribuie un identificator unic, ID-ul procesului (PID). Procesele sunt fundamentale pentru funcționarea sistemului de operare și joacă un rol crucial în multitasking, permițând computerului să execute mai multe sarcini simultan.

Listează procesele care rulează în Linux

Putem folosi mai multe comenzi pentru a enumera procesele care rulează în Linux, cum ar fi ps , top , htop , și deasupra comenzi în Linux. De asemenea, putem avea o combinație de comenzi pentru a enumera procesele care rulează în Linux.

1. Comanda `ps` pentru a enumera procesele care rulează în Linux

` ps`> comanda, care înseamnă starea procesului, este ca un instrument de computer care vă ajută să vedeți ce se întâmplă în interiorul computerului dvs. Linux. Imaginați-vă că computerul face mai multe lucruri simultan, cum ar fi rularea diferitelor programe sau aplicații. Acestea sunt procesele și ` ps`> comanda vă permite să aruncați o privire rapidă la ele. Când îl utilizați fără instrucțiuni speciale, vă arată procesele care sunt conectate la fereastra sau ecranul pe care îl utilizați în prezent. Dar aici devine interesant: puteți faceps>comanda vă arată exact ceea ce doriți să știți dându-i instrucțiuni speciale, numite opțiuni. Aceste opțiuni vă permit să personalizați informațiile pe care le vedeți, cum ar fi să aflați care programe folosesc cea mai mare putere a computerului sau să verificați ce face un anumit utilizator. Deci, deși vă poate oferi o imagine de ansamblu de bază,ps>Adevărata putere a comenzii este că vă permite să alegeți exact ce detalii doriți să vedeți despre procesele de pe computer.



Sintaxa comenzii `ps` în Linux

Theps>comanda oferă un instantaneu al proceselor curente de pe sistemul dumneavoastră. Sintaxa de bază este următoarea:

  ps [options]>

Fără opțiuni, ` ps`> afișează informații despre procesele asociate cu sesiunea curentă de terminal. Cu toate acestea, pentru a valorifica întregul potențial al ` ps`> comandă, pot fi folosite diverse opțiuni pentru a personaliza ieșirea.

Opțiuni pentru comanda `ps` pentru a lista procesele care rulează în Linux

Câteva opțiuni utilizate în mod obișnuit



Opțiuni

Descriere

a>

Listați toate procesele de distrugere pentru toți utilizatorii.

-A, -e>

Listează toate procesele din întregul sistem, oferind o imagine de ansamblu completă a sarcinilor și programelor care rulează.

-a>

java parseint

Listați toate procesele, cu excepția liderilor de sesiune (instanțe în care ID-ul procesului este același cu ID-ul sesiunii) și procesele care nu sunt asociate cu un terminal.

-d>

Listează toate procesele, cu excepția liderilor de sesiune, oferind o vedere filtrată a proceselor care rulează pe sistem.

--deselect, -N>

Listează toate procesele, cu excepția celor care îndeplinesc condiții specifice definite de utilizator.

f>

Afișează ierarhia proceselor într-un format vizual ASCII, ilustrând relațiile părinte-copil.

-j>

Prezintă rezultatul în format job, oferind informații detaliate, cum ar fi ID-ul procesului, ID-ul sesiunii și comanda.

T>

Listează toate procesele asociate cu terminalul curent, ajutând la concentrarea asupra sarcinilor legate de un anumit terminal.

r>

Enumeră doar procesele care rulează, utile pentru monitorizarea performanței sistemului.

u>

Extinde ieșirea pentru a include informații suplimentare precum CPU și utilizarea memoriei.

-u>

Specifică un nume de utilizator, listând procesele asociate cu acel utilizator.

x>

Include procese fără TTY, afișând procese de fundal care nu sunt legate de o anumită sesiune de terminal.

1) Selectare simplă a procesului: Afișează procesele pentru shell-ul curent –

 ps>
enumerați procesele care rulează în Linux

enumerați procesele care rulează în Linux

Rezultatul conține patru coloane de informații. Unde,

  • PID - ID-ul unic al procesului
  • TTY – tipul de terminal la care este conectat utilizatorul
  • TIMP – cantitatea de CPU în minute și secunde pe care procesul a fost rulat
  • CMD – numele comenzii care a lansat procesul.

Notă - Uneori când executăm ps comanda, arată TIME ca 00:00:00. Nu este altceva decât timpul total acumulat de utilizare a procesorului pentru orice proces și 00:00:00 indică nicio durată CPU a fost acordată de kernel până acum. În exemplul de mai sus am constatat că, pentru bash, nu a fost dat niciun timp CPU. Acest lucru se datorează faptului că bash este doar un proces părinte pentru diferite procese care are nevoie de bash pentru execuția lor, iar bash în sine nu utilizează niciun timp CPU până acum.

2) Vizualizați toate procesele care rulează în Linux.

Pentru a vizualiza toate procesele care rulează, utilizați oricare dintre următoarele opțiuni cu ` ps`> comanda:

ps -A>
ps -O opțiune pentru a vizualiza toate procesele care rulează în linux

ps -O opțiune pentru a vizualiza toate procesele care rulează în linux

ps -e>
158

opțiunea ps -e pentru a vizualiza toate procesele care rulează în linux

3) Listează procesele care nu sunt asociate cu un terminal în Linux

Vizualizați toate procesele, cu excepția liderilor de sesiune și a proceselor care nu sunt asociate cu un terminal.

ps -a>
ps -o opțiune pentru a lista procesele care rulează în linux

ps -o opțiune pentru a lista procesele care rulează în linux

Notă -

S-ar putea să vă gândiți că ce este liderul de sesiune? O sesiune unică este atribuită fiecărui grup de procese. Deci, liderul de sesiune este un proces care declanșează alte procese. ID-ul procesului al primului proces al oricărei sesiuni este similar cu ID-ul sesiunii.

4) Listați toate procesele, cu excepția liderilor de sesiune în Linux

Un lider de sesiune este un proces care inițiază alte procese. Vizualizați procesele, cu excepția liderilor de sesiune:

ps -d>
opțiunea ps -d pentru a lista procesele care rulează în linux

opțiunea ps -d pentru a lista procesele care rulează în linux

5) Listați toate procesele, cu excepția celor care îndeplinesc condițiile specificate (nega selecția)

Exemplu – Dacă doriți să vedeți doar liderul de sesiune și procesele care nu sunt asociate cu un terminal. Apoi, fugi

ps -a -N OR ps -a --deselect>

6) Listați toate procesele asociate cu acest terminal în Linux

ps -T>
opțiunea ps -T pentru a lista procesele care rulează în linux

opțiunea ps -T pentru a lista procesele care rulează în linux

7) Vizualizați toate procesele deținute de dvs

Procese, adică același EUID ca ps, ceea ce înseamnă rulant al comenzii ps, root în acest caz -

ps -x>
opțiunea ps -x pentru a lista procesele care rulează în linux

opțiunea ps -x pentru a lista procesele care rulează în linux

8) Procesați selecția după listă

Aici vom discuta cum să obțineți lista de procese specifice cu ajutorul comenzii ps. Aceste opțiuni acceptă un singur argument sub forma unei liste separate prin virgulă sau separate. Ele pot fi folosite de mai multe ori.

rețea și tipuri de rețea

De exemplu:

ps -p '1 2' -p 3,4>

9) Selectați Procese după numele comenzii

Aceasta selectează procesele al căror nume de executabil este dat în cmdlist. Poate exista șansa să nu cunoașteți ID-ul procesului și cu această comandă este mai ușor să căutați.

Sintaxa:

ps -C command_name>

Exemplu:

ps -C systemd>
opțiunea ps -C pentru a lista procesele care rulează în linux

opțiunea ps -C pentru a lista procesele care rulează în linux

10) Selectați după ID sau nume de grup

ID-ul grupului identifică grupul utilizatorului care a creat procesul.

Sintaxă:

ps -G group_name ps --Group group_name>

Exemplu:

ps -G root>

Vizualizare după ID de grup:

ps -g 1>

164

Vizualizați procesele după ID-ul procesului:

Sintaxă:

ps p process_id ps -p process_id ps --pid process_id>

Exemplu:

ps p 27223>

Puteți vizualiza mai multe procese specificând mai multe ID-uri de proces separate prin spațiu liber sau virgulă -

Exemplu:

ps -p 1 904 27223>

Aici, am menționat trei ID-uri de proces - 1, 904 și 27223, care sunt separate prin spațiu liber.

2. Comanda `top` pentru a enumera procesele care rulează în Linux

În Linux, `top`>comanda este un instrument dinamic și interactiv care oferă informații în timp real despre procesele sistemului. Oferă o vedere cuprinzătoare a proceselor care rulează, a utilizării resurselor sistemului și a altor valori critice ale sistemului. Acest articol explorează cum să utilizați eficienttop>comandă pentru monitorizarea și gestionarea proceselor.

Lansaretop>

Pentru a lansatop>comandă, deschideți un terminal și tastați pur și simplu:

top>
enumerați toate procesele care rulează în Linux în partea de sus

enumerați toate procesele care rulează în Linux în partea de sus

Informații legate de proces, inclusiv:

sortare cu găleată
  • PID> : ID proces
  • USER> : Proprietarul procesului
  • PR> : Prioritate
  • NI> : O valoare bună
  • VIRT> : Utilizarea memoriei virtuale
  • RES> : dimensiunea setului rezident (folosită memorie fizică neschimbată)
  • SHR> : Memorie partajată
  • S> : starea procesului (S: Inactiv, R: Rulează, I: Inactiv)
  • %CPU> : Procentul de utilizare a procesorului
  • %MEM> : Procentul de utilizare a memoriei
  • TIME+> : Timp total CPU
  • COMMAND> : Numele comenzii sau al procesului

3. Comanda `htop` pentru a enumera procesele care rulează în Linux

`htop`> este un vizualizator de proces interactiv pentru Linux care oferă o alternativă atrăgătoare din punct de vedere vizual și bogată în funcții la tradiționalul ` top`> comanda. Permite utilizatorilor să monitorizeze și să gestioneze procesele sistemului în timp real, cu o interfață ușor de utilizat. Acest ghid demonstrează cum se utilizează ` htop`> pentru a enumera procesele care rulează pe un sistem Linux.

Instalarea htop

Înainte de utilizarehtop>, asigurați-vă că este instalat pe sistemul dvs. Utilizați managerul de pachete relevant pentru distribuția dvs. Linux:

Debian/Ubuntu:

sudo apt-get install htop>

Red Hat/CentOS:

sudo dnf install htop>

Se lansează htop

A lansahtop>, deschideți un terminal și tastați:

htop>
enumerați toate procesele care rulează în Linux în partea de sus

listează toate procesele care rulează în Linux în htop

Informații legate de proces, inclusiv:

  • PID> : ID proces
  • USER> : Proprietarul procesului
  • PRI> : Prioritate
  • NI> : O valoare bună
  • VIRT> : Utilizarea memoriei virtuale
  • RES> : dimensiunea setului rezident (folosită memorie fizică neschimbată)
  • SHR> : Memorie partajată
  • S> : starea procesului (S: Inactiv, R: Rulează, I: Inactiv)
  • CPU%> : Procentul de utilizare a procesorului
  • MEM%> : Procentul de utilizare a memoriei
  • TIME+> : Timp total CPU
  • Command> : Numele comenzii sau al procesului

4. Comanda `atop` pentru a enumera procesele care rulează în Linux

`atop`> este un sistem puternic și interactiv și monitor de proces pentru Linux, care oferă informații detaliate despre resursele și procesele sistemului. Acest ghid ilustrează cum să utilizați ` atop`> comandă pentru a lista procesele care rulează și pentru a monitoriza activitatea sistemului.

Instalarea htop

Înainte de a utiliza atop>, asigurați-vă că este instalat pe sistemul dvs. Utilizați managerul de pachete relevant pentru distribuția dvs. Linux:

Debian/Ubuntu:

sudo apt-get install atop>

Red Hat/CentOS:

sudo dnf install atop>

Lansare pe vârf

A lansaatop>, deschideți un terminal și tastați:

atop>
listează toate procesele care rulează în Linux în partea de sus

listează toate procesele care rulează în Linux în partea de sus

Informații legate de proces, inclusiv:

  • PID: ID proces
  • SYSCPU: Timp CPU de sistem
  • USRCPU: Timp CPU utilizator
  • VGROW: Creșterea memoriei virtuale
  • RGROW: Creșterea memoriei rezidente
  • ARTICOL: ID utilizator real
  • EUID: ID de utilizator efectiv
  • ST: Starea procesului
  • EXC: Cod de ieșire
  • THR: Numărul de fire
  • S: Starea procesului
  • CPUNR : Numărul CPU
  • CPU : Utilizarea generală a procesorului
  • CMD: Numele comenzii sau procesului

5. Comanda `pgrep` pentru a găsi ID-uri de proces în Linux

` pgrep`> comanda în Linux este un instrument util pentru găsirea și listarea ID-urilor de proces (PID) pe baza diferitelor criterii. Simplifică procesul de identificare a proceselor care rulează, în special atunci când se caută mai multe instanțe sau procese asociate cu atribute specifice.

Utilizare de bază

Pentru a găsi PID-ul unui proces folosindpgrep>, puteți utiliza următoarea sintaxă:

pgrep [options] pattern>

De exemplu, utilizați următoarea comandă pentru a căuta ` systemd` proces:

pgrep systemd>
Găsirea ID-ului procesului

Găsirea ID-ului procesului

Exemplu: Utilizarea PID 291 oferă informații despre systemd proces:

Găsirea ID-ului procesului

Găsirea ID-ului procesului

Concluzie

În acest articol am discutat despre cum să enumerăm procesele care rulează în Linux. Procesele sunt vitale pentru multitasking și sunt identificate printr-un ID unic de proces (PID). Diverse comenzi precumps>,top>,htop>,atop>, șipgrep>ajutați la lista și gestionarea acestor procese. De exemplu,ps>oferă un instantaneu al proceselor, în timp cetop>șihtop>oferă monitorizare în timp real.atop>oferă perspective detaliate șipgrep>găsește procese pe baza unor criterii. Aceste comenzi permit utilizatorilor să înțeleagă, să monitorizeze și să controleze procesele într-un sistem Linux, asigurând multitasking eficient și gestionarea resurselor.