logo

Cum să omorâți un proces în Linux?

Într-un sistem de operare, există multe programe care au loc pe memoria RAM a computerului. Aceste programe pot fi rulate de sistemul de operare însuși sau de un utilizator, astfel de programe sunt numite — Procesele .' De obicei, un proces are ciclul său de viață și se încheie de la sine atunci când este finalizat sau când îl ieșim manual. Dar, uneori, un proces se poate închide din cauza unei erori în programarea procesului sau din cauza consumului de multă memorie RAM sau CPU. În astfel de cazuri, trebuie să omorâm procesele manual pentru a salva mașina noastră de la închiderea neașteptată.

Linux permite diferite instrumente pentru a ucide un proces rătăcit. Pentru a ucide un proces, trebuie să avem informații despre proces, cum ar fi PID, semnal și multe altele .

Localizarea proceselor

Pentru a distruge un proces, trebuie să accesăm informațiile despre proces. Există diverse comenzi pentru a urmări un proces, cum ar fi top , ps , prindere, și pidof.

Sistemul Linux ne permite să omorâm un proces în diferite moduri, cum ar fi ucide un proces după numele sau ID-ul de proces (PID). Deci, vom folosi comenzile de mai sus în funcție de nevoile noastre.

Localizarea proceselor prin comanda „sus”.

The top comanda este folosită pentru a lista toate procesele care rulează într-un sistem Linux. Afișează informații detaliate, cum ar fi PID, numele de utilizator, utilizarea procesorului, ora, comanda executată și multe altele.

Pentru a localiza procesele, executați comanda după cum urmează:

harta vs set
 top 

Comanda de mai sus va afișa procesele care rulează. Luați în considerare rezultatul de mai jos:

Kill Process Linux

Putem răsfoi procesele derulând în sus și în jos pe terminal. Comanda de sus oferă diverse filtre pentru a filtra procesele, cum ar fi numele procesului, utilizarea CPU și multe altele. Pentru a ieși din secțiunea de sus, apăsați tasta 'q' cheie, vă va întoarce la terminal. Cu toate acestea, putem folosi și opțiunea tradițională de ieșire prin apăsare CTRL+C chei.

Localizarea proceselor prin comanda ps și grep

The ps comanda este o altă modalitate de a afișa informațiile despre proces. Există multe opțiuni care sunt utilizate cu comanda ps, cum ar fi la, care înseamnă:

A : Pentru a afișa procesele pentru toți utilizatorii

in: Pentru a afișa procesele utilizate de un anumit utilizator

X : Pentru a arăta toate procesele. Dacă nu specificăm opțiunea x, aceasta nu va afișa procesul GUI.

Executați comanda de mai jos pentru a lista toate procesele care rulează:

 ps aux 

Luați în considerare rezultatul de mai jos:

Kill Process Linux

Ieșirea comenzii ps este similară cu cea top comanda. Numele procesului și PID sunt date în primele două coloane, iar numele procesului este dat în coloana din dreapta.

Comanda ps este mai utilă decât comanda de sus. Ne permite să filtram rezultatul cu comanda grep.

Să presupunem că vrem să filtram tot procesul cu numele de utilizator javatpo+, executați comanda după cum urmează:

 ps aux | grep javatpo+ 

Comanda de mai sus va filtra toate procesele specificate prin comanda grep. Luați în considerare rezultatul de mai jos:

Kill Process Linux

Ieșirea de mai sus oferă comanda ps, precum și funcționalitatea comenzii grep împreună.

Localizarea procesului prin comanda pidof și pgrep

The pidof comanda ne permite, de asemenea, să localizăm procesul. Dacă vrem să urmărim un proces după numele său, comanda pidof va fi foarte utilă. Afișează PID-urile proceselor atunci când este utilizat cu numele procesului.

Pentru a localiza PID-ul unui proces, executați comanda pidof după cum urmează:

 pidof process_name 

Dacă avem procesul care rulează cu numele exact crom , executați comanda după cum urmează pentru a obține PID-urile sale.

 pidof chrome 

luați în considerare rezultatul de mai jos:

Kill Process Linux

Uciderea unui proces

Acum, pe măsură ce am urmărit procesele, putem opri un proces. Există diverse comenzi care sunt folosite pentru a ucide un proces, cum ar fi ucide , ucide , top, și pkill.

Înainte de a ucide un proces, este necesar să știm ce procese putem ucide. Mai jos sunt câteva puncte esențiale despre procesele de ucidere:

  • Dacă sunteți un utilizator normal, atunci puteți ucide doar procesele care vă aparțin. Nu puteți ucide procesele care rulează de ceilalți utilizatori. The top și ps la comenzile afișează utilizatorii cu procesul aferent.
  • Un utilizator root poate ucide toate procesele. Cu toate acestea, putem adăuga și sudo înainte de orice comandă pentru a o executa ca root.
  • În Linux, atunci când un proces este ucis, un semnal special este transmis proceselor. Deși există diferite tipuri de semnale în Linux, dar în acest caz, Linux se ocupă de SIGKILLS și TERMEN semnale. În mod implicit. Linux trimite SIGTERM, care încheie procesul cu grație. Dacă doriți să omorâți un proces cu forță, utilizați în schimb SIGKILL.
  • Linux păstrează starea proceselor până când este complet eliminat din sistem. Deci, procesele secundare vor fi afișate în lista de procese până când un proces părinte este șters.
  • Nu putem ucide un proces dacă este în 'somn neîntrerupt .' Această situație apare atunci când un proces realizează o operație de intrare/ieșire. Această stare poate fi văzută în 8thcoloana de top si ps la comanda.

Omorârea unui proces prin comanda killall

Comanda killall este cea mai ușoară tehnică de a ucide un proces dacă cunoașteți numele exact al procesului, nu este rulat de niciun alt utilizator și nu este în starea Z sau D. În comanda kill all, nu este nevoie să localizați procesul sau PID-ul. Pentru a opri un proces, executați comanda după cum urmează:

 killall firefox 

Comanda de mai sus va opri procesul și va închide browserul Firefox. Luați în considerare rezultatul de mai jos:

Kill Process Linux

Dacă comanda închide cu succes procesul, nu va da nicio ieșire.

Pentru a opri procesul cu forță, executați comanda killall cu -SIGKILL după cum urmează:

 killall -SIGKILL process_name 

putem folosi și -9 în loc de -SIGKILL.

Pentru a opri un proces în mod interactiv, executați comanda după cum urmează:

 killall -i process_name 

Pentru a opri un proces ca alt utilizator, executați comanda după cum urmează:

 sudo killall process_name 

De asemenea, putem ucide un proces pentru o perioadă de timp fixă ​​utilizând -O și -și steaguri. Pentru a opri un proces care rulează mai mult de 20 de minute, executați comanda de mai jos: killall -o 20m process_name

Pentru a opri un proces care rulează mai puțin de 20 de minute, executați comanda de mai jos:

 killall -y 20m process_name 

Abrevierile pentru utilizarea perioadei de timp sunt următoarele:

secunde: s

minute: m

ore: h

zile: d

săptămâni: w

luni: M

ani: y

Omorâți un proces prin comanda pkill

Uneori nu știm numele exact al procesului; în acest caz, comanda pkill va fi cel mai util utilitar pentru a ucide un proces. Ne permite să omorâm un proces introducând numele potrivit al procesului. De exemplu, dorim să omorâm toate procesele cu numele java care se potrivește, executați comanda după cum urmează:

 pkill java 

va închide toate procesele care conțin numele java. În mod similar, pentru a ucide un proces Firefox, executați comanda după cum urmează:

 pkill fire 

Luați în considerare rezultatul de mai jos:

Kill Process Linux

Dacă comanda pkill este executată cu succes, nu va afișa nicio ieșire.

Pentru a ucide un proces cu forța prin comanda pkill, executați-l după cum urmează:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Omorâți un proces prin comanda kill

Comanda kill este cel mai simplu utilitar pentru a ucide un proces; tot ce avem nevoie de un PID al unui proces. Odată ce obținem PID-ul procesului, acesta este un proces simplu. Pentru a încheia un proces, executați comanda kill urmată de PID. Pentru a localiza PID-ul unui proces, utilizați comanda top sau ps aux, așa cum este explicat mai sus.

Pentru a opri un proces cu PID 5296, executați comanda după cum urmează:

 kill 5296 

Pentru a încheia forțat un proces, utilizați opțiunea -SIGKILL sau -9:

 kill -SIGKILL 5296 

Comanda de mai sus va încheia procesul având PID 5296.

Omorâți un proces prin comanda superioară

Comanda de sus ne permite să localizăm și să omorâm procesul. Este un proces simplu de a încheia un proces utilizând comanda de sus. Mai întâi, executați comanda de sus pentru a localiza procesul și apăsați K-ul' tasta în timp ce comanda rulează. Vă va scufunda în modul de ucidere a procesului, introduceți PID-ul procesului pe care doriți să îl ucideți. Luați în considerare rezultatul de mai jos:

Kill Process Linux

După cum putem vedea din rezultatul de mai sus, există o opțiune „PID pentru a semnala/ucide” pentru a opri procesul din lista de procese de mai sus. Introduceți PID-ul procesului și apăsați INTRODUCE cheie.

Dacă lăsăm PID-ul necompletat, acesta va încheia procesul cel mai de sus.

Omorâți un proces prin monitorizarea sistemului

De asemenea, putem încheia un proces prin mediul grafic Linux numit monitor de sistem. Pentru a opri un proces prin monitorizarea sistemului, urmați pașii de mai jos:

Pasul 1: Căutați sau răsfoiți monitorul sistemului, apăsați Enter pentru a-l deschide.

Pasul 2: Acesta va lista toate procesele care rulează sistemul dumneavoastră Linux. Luați în considerare imaginea de mai jos:

Kill Process Linux

Pasul 3: Răsfoiți procesul și faceți clic dreapta pe el pe care doriți să îl opriți.

Pasul 4: Selectați opțiunea Kill. De asemenea, putem folosi CTRL+K cheile pentru a-l ucide.