logo

Com matar un procés a Linux?

En un sistema operatiu, hi ha molts programes que tenen lloc a la memòria RAM de l'ordinador. Aquests programes poden ser executats pel propi sistema operatiu o per un usuari, aquests programes s'anomenen 'Processos .' Normalment, un procés té el seu cicle de vida i s'acaba per si mateix quan es completa o quan el deixem manualment. Però, de vegades, un procés es pot penjar a causa d'un error en la programació del procés o per consumir molta memòria RAM o CPU. En aquests casos, hem de matar els processos manualment per salvar la nostra màquina d'un bloqueig inesperat.

Linux permet diverses eines per matar un procés errant. Per matar un procés, hem de tenir la informació del procés com ara PID, senyal i molt més .

Localització dels processos

Per matar un procés, hem d'accedir a la informació del procés. Hi ha diverses ordres per fer el seguiment d'un procés, com ara superior , ps , agafar, i pidof.

El sistema Linux ens permet matar un procés de diverses maneres, com ara matar un procés pel seu nom o identificador de procés (PID). Per tant, utilitzarem les ordres anteriors segons la nostra necessitat.

Localització dels processos mitjançant l'ordre 'superior'.

El superior L'ordre s'utilitza per llistar tots els processos en execució en un sistema Linux. Mostra informació detallada com ara el PID, el nom d'usuari, l'ús de la CPU, l'hora, l'ordre executada i molt més.

Per localitzar els processos, executeu l'ordre de la següent manera:

css per negreta
 top 

L'ordre anterior mostrarà els processos en execució. Considereu la sortida següent:

Kill Process Linux

Podem navegar pels processos desplaçant-nos cap amunt i cap avall pel terminal. L'ordre superior proporciona diversos filtres per filtrar els processos, com ara el nom del procés, l'ús de la CPU i molt més. Per sortir de la secció superior, premeu el botó 'q' clau, us tornarà al terminal. Tanmateix, també podem utilitzar l'opció de sortida tradicional prement CTRL+C claus.

Localització dels processos mitjançant l'ordre ps i grep

El ps L'ordre és una altra manera de mostrar la informació del procés. Hi ha moltes opcions que s'utilitzen amb l'ordre ps, com ara a, que significa:

a: Mostrar els processos per a tots els usuaris

a: Per mostrar els processos utilitzats per un usuari concret

x : Per mostrar tots els processos. Si no especifiquem l'opció x, no mostrarà el procés GUI.

Executeu l'ordre següent per llistar tots els processos en execució:

 ps aux 

Considereu la sortida següent:

Kill Process Linux

La sortida de l'ordre ps és similar a la superior comandament. El nom del procés i el PID es donen a les dues primeres columnes, i el nom del procés es dóna a la columna de la dreta.

L'ordre ps és més útil que l'ordre superior. Ens permet filtrar la sortida amb l'ordre grep.

Suposem que volem filtrar tot el procés amb el nom d'usuari javatpo+, executeu l'ordre de la següent manera:

 ps aux | grep javatpo+ 

L'ordre anterior filtrarà tot el procés especificat mitjançant l'ordre grep. Considereu la sortida següent:

Kill Process Linux

La sortida anterior proporciona l'ordre ps així com la funcionalitat de l'ordre grep junts.

Localització del procés mitjançant l'ordre pidof i pgrep

El pidof L'ordre també ens permet localitzar el procés. Si volem fer el seguiment d'un procés pel seu nom, l'ordre pidof serà molt útil. Mostra els PID dels processos quan s'utilitza amb el nom del procés.

Per localitzar el PID d'un procés, executeu l'ordre pidof de la següent manera:

 pidof process_name 

Si tenim el procés en execució amb el nom exacte cromat , executeu l'ordre de la manera següent per obtenir els seus PID.

 pidof chrome 

considereu la sortida següent:

Kill Process Linux

Matar un procés

Ara que hem fet un seguiment dels processos, podem matar un procés. Hi ha diverses ordres que s'utilitzen per matar un procés com ara matar , matar , superior, i pkill.

Abans de matar un procés, cal saber quins processos podem matar. A continuació es mostren alguns punts essencials sobre els processos de matança:

  • Si sou un usuari normal, només podeu matar els processos que us pertanyen. No podeu matar els processos que estan executant els altres usuaris. El superior i ps a Les ordres mostren els usuaris amb el procés relacionat.
  • Un usuari root pot matar tots els processos. Tanmateix, també podem afegir sudo abans de qualsevol ordre per executar-la com a root.
  • A Linux, quan un procés s'està matant, es transmet un senyal especial als processos. Tot i que a Linux hi ha diversos tipus de senyals, però en aquest cas, Linux tracta SIGKILLS i TERME senyals. Per defecte. Linux envia el SIGTERM, que finalitza el procés amb gràcia. Si voleu matar un procés amb força, feu servir SIGKILL.
  • Linux manté l'estat dels processos fins que s'elimina completament del sistema. Així, els processos secundaris es mostraran a la llista de processos fins que s'elimini un procés principal.
  • No podem matar un procés si hi és 'son ininterrompuda .' Aquesta situació es produeix quan un procés realitza una operació d'entrada/sortida. Aquest estat es pot veure a la 8thcolumna de superior i ps a l'ordre.

Matar un procés amb l'ordre killall

L'ordre killall és la tècnica més fàcil per matar un procés si coneixeu el nom exacte del procés, no l'executa cap altre usuari i no està en estat Z o D. A l'ordre kill all, no cal localitzar el procés o el PID. Per matar un procés, executeu l'ordre de la següent manera:

 killall firefox 

L'ordre anterior matarà el procés i sortirà del navegador Firefox. Considereu la sortida següent:

Kill Process Linux

Si l'ordre acaba amb èxit el procés, no donarà cap sortida.

Per matar el procés amb força, executeu l'ordre killall amb -SIGKILL de la següent manera:

 killall -SIGKILL process_name 

també podem utilitzar -9 en comptes de -SIGKILL.

Per matar un procés de manera interactiva, executeu l'ordre de la següent manera:

 killall -i process_name 

Per matar un procés com a usuari diferent, executeu l'ordre de la següent manera:

 sudo killall process_name 

També podem matar un procés durant un període de temps determinat mitjançant l'ús -O i -i banderes. Per matar un procés que s'ha executat durant més de 20 minuts, executeu l'ordre següent: killall -o 20m nom_procés

Per eliminar un procés que s'ha executat durant menys de 20 minuts, executeu l'ordre següent:

 killall -y 20m process_name 

Les abreviatures per utilitzar el període de temps són les següents:

segons: s

minuts: m

hores: h

dies: d

setmanes: w

mesos: M

anys: y

Mata un procés amb l'ordre pkill

De vegades no sabem el nom exacte del procés; en aquest cas, l'ordre pkill serà la utilitat més útil per matar un procés. Ens permet matar un procés introduint el nom que coincideix amb el procés. Per exemple, volem matar tots els processos amb el nom java coincident, executeu l'ordre de la següent manera:

 pkill java 

tancarà tots els processos que contenen el nom java. De la mateixa manera per matar un procés de firefox, executeu l'ordre de la següent manera:

 pkill fire 

Considereu la sortida següent:

Kill Process Linux

Si l'ordre pkill s'executa correctament, no mostrarà cap sortida.

Per matar un procés amb força mitjançant l'ordre pkill, executeu-lo de la següent manera:

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

Mata un procés amb l'ordre de matar

L'ordre kill és la utilitat més senzilla per matar un procés; tot el que necessitem un PID d'un procés. Un cop tenim el PID del procés, és un procés senzill. Per finalitzar un procés, executeu l'ordre kill seguida de PID. Per localitzar el PID d'un procés, utilitzeu l'ordre superior o ps aux, tal com s'ha explicat anteriorment.

Per matar un procés amb PID 5296, executeu l'ordre de la següent manera:

 kill 5296 

Per finalitzar força un procés, utilitzeu l'opció -SIGKILL o -9:

 kill -SIGKILL 5296 

L'ordre anterior finalitzarà el procés amb PID 5296.

Mata un procés per comandament superior

L'ordre superior ens permet localitzar i matar el procés. És un procés senzill per finalitzar un procés mitjançant l'ordre superior. Primer, executeu l'ordre superior per localitzar el procés i premeu la 'k' tecla mentre s'executa l'ordre. Us submergirà en el mode de matança del procés, introduïu el PID del procés que voleu matar. Considereu la sortida següent:

Kill Process Linux

Com podem veure a la sortida anterior, hi ha una opció 'PID per senyalitzar/matar' per matar el procés de la llista de processos anterior. Escriviu el PID del procés i premeu ENTRAR clau.

Si deixem el PID en blanc, finalitzarà el procés superior.

Mata un procés mitjançant el monitor del sistema

També podem finalitzar un procés mitjançant l'entorn gràfic de Linux anomenat monitor del sistema. Per matar un procés mitjançant el monitor del sistema, seguiu els passos següents:

Pas 1: Cerqueu o navegueu pel monitor del sistema, premeu Intro per obrir-lo.

Pas 2: Enumerarà tots els processos en execució del vostre sistema Linux. Considereu la imatge següent:

Kill Process Linux

Pas 3: Navegueu pel procés i feu clic amb el botó dret sobre el que voleu finalitzar.

Pas 4: Seleccioneu l'opció Matar. A més, podem utilitzar el CTRL+K claus per matar-lo.