Com matar un procés des de la línia d'ordres

How Kill Process From Command Line



Tots els programes que s'han incorporat a la memòria RAM i que estan preparats per dirigir-se a la CPU per a l'execució es coneixen com a procés. Sempre que treballeu amb un sistema operatiu que trieu, notareu que s’executen diversos processos alhora. Alguns d'aquests processos s'inicien automàticament tan bon punt activeu el sistema operatiu, és a dir, aquests processos són obligatoris perquè el vostre sistema funcioni correctament. També hi ha alguns processos que heu d’activar manualment en iniciar el sistema.

De vegades, és possible que tingueu la sensació que s’executen alguns processos innecessaris al sistema, que no necessiteu cap procés o que un procés hagi començat a funcionar malament. En totes aquestes situacions, haureu d’intentar trobar una manera de matar (o acabar) els processos. Podeu eliminar un procés a Linux mitjançant la GUI o la CLI. Aquest article explora algunes de les diferents maneres de matar un procés des de la línia d'ordres a Linux.







Nota: Els mètodes que es mostren en aquest article es realitzen a Linux Mint 20.



Mètodes per matar un procés mitjançant la línia d'ordres

A continuació s'inclouen tres formes diferents de matar un procés des de la línia d'ordres a Linux Mint 20.



Mètode 1: utilitzar l'ordre kill

Per eliminar un procés a través del terminal mitjançant l'ordre kill a Linux Mint 20, procediu segons el mètode que es mostra a continuació:





Primer, inicieu el terminal fent clic a la seva icona que apareix a la barra de tasques de Linux Mint 20. El terminal Linux Mint 20 es mostra a la imatge següent:



Per utilitzar l'ordre kill, haureu de conèixer l'identificador de procés del procés que voleu eliminar mitjançant aquesta ordre. Això també es coneix com el PID, que és un identificador únic per a tots els processos que operen al vostre sistema. Per determinar els identificadors de procés de tots els processos que s'executen actualment al vostre sistema, executeu l'ordre següent al terminal:

$ps–Deix

Aquesta ordre obtindrà una llista de tots els processos que s’executen actualment al vostre sistema Linux Mint 20, juntament amb els seus PID.

La llista de tots els processos que s’executen actualment al meu sistema es mostra a la imatge següent:

Ara, després d’identificar el PID del procés que voleu matar, haureu d’executar l’ordre kill. Per a aquest escenari, eliminarem el procés de Firefox amb el PID 1934, tal com es pot comprovar a partir de la imatge que es mostra més amunt.

Tingueu en compte que aquest PID serà diferent cada vegada que executeu una nova instància d'un procés. A més, a la imatge que es mostra més amunt, podeu veure diversos PID corresponents al procés de Firefox. Tots aquests són PID secundaris, excepte el primer. Aquesta és la raó de la utilització de 1934 com a PID del procés de Firefox, que és, de fet, el seu primer PID.

La sintaxi de l'ordre kill és la següent:

$matarPID

Aquí haureu de substituir el terme PID pel PID del procés que vulgueu matar. En aquest exemple, hem substituït el terme PID per 1934, és a dir, el PID del procés de Firefox, tal com es mostra a la imatge següent:

L'execució correcta d'aquesta ordre acabarà immediatament amb el procés de Firefox i ja no el podreu trobar a la llista de processos que s'executen actualment al vostre sistema.

Mètode 2: utilitzar l'ordre pkill

Per eliminar un procés a través del terminal mitjançant l'ordre pkill a Linux Mint 20, procediu segons el mètode que es mostra a continuació:

L'ordre pkill no requereix l'identificador de procés d'un procés per eliminar-lo; més aviat, podeu realitzar aquesta acció simplement si coneixeu el nom exacte del procés. En aquest escenari, volem executar l'ordre ping i, durant la seva execució, volem acabar amb el procés mitjançant l'ordre pkill.

En primer lloc, feu ping a un lloc web mitjançant l'ordre següent:

$pingURL

Aquí, substituïu l'URL per l'URL del lloc web al qual voleu fer ping. En aquest exemple, volíem fer ping a Google.com, tal com es mostra a la imatge següent:

Com que aquesta ordre ping s'està executant al terminal, inicieu una altra instància del terminal i, a continuació, executeu l'ordre següent al terminal:

$pkill ProcessName

Aquí, substituïu el terme ProcessName pel nom del procés que voleu eliminar mitjançant l'ordre pkill. En aquest exemple, hem substituït el terme per ping, ja que volem acabar amb el procés de ping.

Després de prémer la tecla Retorn, torneu a la instància del terminal on s'estava executant l'ordre ping i notareu que aquest procés s'ha finalitzat, tal com es mostra a la imatge següent:

Mètode 3: utilitzar l'ordre killall:

Per eliminar un procés a través del terminal mitjançant l'ordre killall a Linux Mint 20, procediu segons el mètode que es mostra a continuació:

L'ordre killall pot matar un procés, juntament amb tots els processos secundaris. Una vegada més, igual que l'ordre pkill, l'ordre killall no requereix els PID; més aviat, simplement podeu matar un procés si en sabeu el nom.

Per demostrar l'ús d'aquesta ordre, hem reproduït de nou el mateix escenari que hem creat anteriorment, és a dir, hem intentat fer ping a Google.com amb l'ordre ping.

Després de fer-ho, inicieu una nova instància de terminal i, a continuació, introduïu l'ordre següent:

$killallNom del procés

Aquí podeu substituir el terme ProcessName pel nom del procés que heu de matar mitjançant l'ordre killall. En aquest cas, hem substituït el terme per ping, tal com es mostra a la imatge següent:

Després d’executar aquesta ordre, heu de tornar a la instància del terminal on heu executat l’ordre ping. Notareu que el procés ja ha finalitzat, com podeu veure a la imatge següent:

Conclusió

En utilitzar qualsevol dels tres mètodes descrits en aquest article, podeu eliminar tants processos com vulgueu mentre utilitzeu Linux Mint 20 i, per tant, estalviar tots els recursos del sistema que ocupaven aquests processos.