26bfb-oracle-linux

Aprender como matar los procesos que no corresponden o que provocan algún problema en nuestro sistema y queremos cerrarlo, en éste how to les mostraré como hacer.

Imaginamos lo siguiente: Se ejecutó una aplicación (desde el menú de aplicaciones o desde la misma terminal por ejemplo) y ésta comienza a funcionar, solo que deja de funcionar por algún motivo (el que quieran) de manera inesperada. Entonces se intenta ejecutar nuevamente pero resulta que el proceso anterior jamás se cerró entonces no podemos utilizarla.

Que se debería hacer en éstos casos? Matar el proceso anterior, pero la pregunta es cómo hacer eso? Simple. su mejor opción generalmente se encuentra dentro de la terminal o la tty. Afortunadamente, GNU/Linux tiene todas las herramientas necesarias para ayudarnos a solucionar esto y poder “matar el proceso que nos molesta”. Sin embargo, antes de lanzar o ejecutar el comando que nos permitirá realizar la tarea que les comenté hace un momento, primero debemos saber cuál es el proceso. ¿Cómo hacemos eso? Una vez que conozcan la herramienta verán que es sencillo.

Ahora les mostraré dichas herramientas y quiero aclarar que los pasos que comentaré a continuación es válido para prácticamente cualquier distribución de GNU/Linux ya sea en sus versiones de escritorio o servidores. Así que ahora abrimos la terminal y comencemos!

Buscar el proceso:

Para eliminar el proceso que no responde es, lógicamente, ubicarlo. Hay dos comandos que se utilizan para localizar un proceso que son los siguientes: top y ps.

La primer orden que nombre (top) es una de las principales que cualquier administrador de sistemas debería conocer. Cuando la ejecutamos:

$ top

Nos aparecerá un listado completo de cada proceso que se está ejecutando actualmente en nuestro equipo, dependiendo de los servicios, programas, etc. Será la cantidad de procesos, no siempre será igual, pero dejo a continuación mi listado:

1.png

De ésta lista pueden ver información de mi equipo que se está ejecutando en éste mimos momento (en el que escribo ésta entrada para ustedes, si para ustedes!) Bueno entonces podemos suponer que, por ejemplo, Thunar no se encuentra funcionando correctamente, entonces lo que haremos será buscar el proceso de Thunar y el número de PID, que esta última es la más importante para poder eliminar el proceso activo.

Antes de ir directo a la orden que utilizo, quiero detallar un poco sobre algunos detalles que considero importantes. Digamos que sabemos que el proceso es Thunar como dijimos que es al que vamos a matar, pero no queremos mirar ni en tiempo en que se está ejecutando, el tipo de orden, etc. Así que para esto vamos a usar el comando ps y vamos a filtrar la salida con grep usando una tubería también.

El comando ps informa de manera instantánea de un proceso actual y grep nos mostrará solamente las líneas que coinciden con un determinado patrón. Ahora, la razón por el cuál uso grep es simple, ya que al usar ps sólo puede arrojar un listado de exactamente todos los procesos ejecutándose, el listado puede ser amplio (como mostré en la foto anterior), entonces con la tubería y grep sólo veremos todo lo que esté asociado a Thunar, entonces se verá así:

$ ps aux | grep Thunar

2.png

Luego de la orden ps, utilicé otro tipos de indicadores que ahora los detallo para dejar en claro todo:

a = Muestra los proceso para todos los usuarios.

u = Muestra el usuario o el dueño del proceso ejecutándose.

x = También muestra los proceso que no están en una terminal.

La opción x es importante cuando buscamos información con respecto a una aplicación gráfica.

Cuando se ejecute la orden anterior, nos dará toda la información que necesitamos para poder matar el proceso de manera sencilla y con el número de PID, que en éste caso es el proceso número de PID 17107.

Para matar el proceso haremos lo siguiente:

Cuando llegamos a la tarea directamente de matar el proceso tenemos tendremos dos pasos a mirar que son muy importantes que son:

* Nombre del proceso, en éste caso se llama Thunar.
* Número de PID del proceso que sería el 17107.

Con ésa información ya sabemos los datos necesarios para darle la terminación necesaria al proceso.

* kill, ósea que mata un sólo proceso por ID
* killall, mata un proceso por el nombre.

También existen diferentes tipos de órdenes que se pueden enviar en ambos comandos para matar los mismos.
La señal que enviamos estará determinada por los resultados que deseamos del comando kill. Por ejemplo, se puede enviar HUP (colgar) al comando kill, que efectivamente reiniciará el proceso. Ésta es siempre una buena elección cuando necesita que el proceso se reinicia inmediatamente .

También podemos obtener un listado de todas las señales que se pueden enviar al comando kill usando el parámetros -l, aquí encontraremos

3.png

Lo bueno de esto es que se puede usar el valor de la señal en lugar del nombre de la señal. Por lo tanto, no hay que memorizar todos los nombres de las diferentes señales. Entonces usaremos el comando kill para matar la señal de Thunar de la siguiente manera:

$ kill SIGNAL PID

Dónde SIGNAL es la señal que se enviará y PID es el ID del proceso que queremos eliminar. Como ya sabemos, por el comando de ps que el ID que queremos matar es 17107, entonces, para enviar señal de matar escribimos lo siguiente:

$ kill -9 17107

Una vez que escribimos, damos enter y el proceso de Thunar (dicha aplicación) se elimina inmediatamente.

Si lo queremos hacer de la manera sencilla, sabemos que el proceso que queremos matar se llama Thunar, entonces podemos hacer uso del comando killall y enviar la misma señal al proceso así:

$ killall -9 Thunar

La única advertencia de la orden anterior es que puede no detectar todos los proceso que utiliza Thunar en ése momento. Si, después de ejecutar el comando anterior, usamos nuevamente:

$ ps aux | grep Thunar

Y vemos que se están ejecutando otros procesos relacionados con Thunar, la mejor opción aquí sería volverá escribir kill y enviar la señal 9 para finalizar el proceso por PID.

Entonces para finalizar, matar los procesos que no nos sirven o que nos provocan inconvenientes, inestabilidad en nuestro sistema no es tan complicado. Igual la idea es que también miren el man de ps para tener más información y poder hilar más fino.

Espero que les haya servido y por favor compartan la información así sigo creciendo!

Abrazo de gol mundialista!