Cómo matar procesos fácilmente

21
103719

Básicamente, existen 4 maneras de matar eficazmente un proceso en Linux: matarlo por el nombre, mediante la especificación de una parte del nombre, por el PID, señalando la ventana del proceso con el cursor del mouse. Veamos una por una…

Kill: matar un proceso usando su PID

La forma más complicada pero al mismo tiempo más precisa de matar un proceso es a través de su PID (siglas en inglés de “Identificador de Proceso”). Cualquiera de estas 3 variantes puede servir:


kill -TERM pid
kill -SIGTERM pid
kill -15 pid

Se puede usar el nombre de la señal (TERM o SIGTERM) que se desea mandar al proceso o su número de identificación (15). Para ver un listado completo de las posibles señales, sugiero verificar el manual de kill. Para ello, ejecutá:

man kill

Veamos un ejemplo de cómo matar Firefox:

Primero, hay que averiguar el PID del programa:

ps -ef | grep firefox

Ese comando devolverá algo parecido a esto:

1986 ?        Sl     7:22 /usr/lib/firefox-3.5.3/firefox

Usamos el PID devuelto por el comando anterior para aniquilar el proceso:

kill -9 1986

killall: matar un proceso usando su nombre

Este comando es bien fácil

killall nombre_proceso

Un dato a tener en cuenta al usar este método es que en caso de que haya más de una instancia de ese programa ejecutándose, se cerrarán todas.

pkill: matar un proceso usando parte de su nombre

Es posible aniquilar un proceso especificando el nombre completo o parte del nombre. Eso significa que no hay necesidad de que recuerdes el PID del proceso para enviar la señal.

pkill parte_nombre_proceso

Como contrapartida, este método aniquilará todos los procesos que contengan la palabra ingresada. Eso significa que si tenemos abiertos 2 procesos que comparten una palabra en el nombre, se cerrarán ambos.

xkill: matar un proceso seleccionando la ventana con el mouse

Este es el método más sencillo y el más práctico. En caso de desastre, simplemente presioná Alt + F2 para que se abra el cuadro de diálogo que te permitirá ejecutar comandos. Desde allí, ejecutá el siguiente comando:

xkill

El cursor del mouse se transformará en una pequeña calavera. Todo lo que resta es hacer clic en la ventana que querés cerrar y voilá. Chau proceso.

Algunos comentarios finales

Para terminar, quería compartir algunos consejos que pueden ser de utilidad. En Linux, al igual que en Windows, cuando un proceso se cuelga, generalmente se puede cerrar la ventana en cuestión haciendo clic en el botón Cerrar (que tiene la forma de una X). Luego de unos segundos, aparecerá una ventana preguntándonos si realmente queremos aniquilar el proceso puesto que éste no responde adecuadamente. Le damos que sí y listo.

Eso quiere decir que los métodos aquí descriptos deberían ser utilizados cuando no pasa nada al hacer clic en el botón Cerrar de la ventana en cuestión.

En caso de desastre mayor, no olvides que antes de presionar es posible realizar un reinicio “seguro”.

Por último, puede ser de mucha utilidad descubrir cuáles son los procesos que están ejecutándose actualmente. Para ello, los diferentes entornos de escritorio (GNOME, KDE, etc.) tienen herramientas gráficas que facilitan esta tarea. No obstante, en caso de que no puedas acceder a ellas o simplemente desees hacerlo desde el terminal, podés ejecutar lo siguiente:

top

En caso de que esto no funcione o que no tengas el paquete correspondiente instalado, siempre podés ejecutar:

ps -A

Esto listará todos los procesos en ejecución, junto con sus respectivos nombres y PIDs.

↓↓↓¿Te sirvió este artículo?, Vota por nosotros en los OpenAwards↓↓↓

21 COMENTARIOS

  1. ¡Hola! ¿Puede ser que el comando xkill solamente haga desaparecer el programa de las X y siga abierto? Porque me pasa siempre que cuando voy al administrador de tareas el proceso sigue vivo y debo matarlo.
    Lo admito, soy muy novato. Y los comandos killall y pkill me van a servir mucho. Gracias por subirlos, muy buen blog.
    ¡Saludos!

  2. yo lo que más uso es:
    ~$ top
    mostrándonos la lista de procesos activos, luego si damos a “k” o escribimos “kill” nos pedirá el pid del proceso a matar( lo leemos de top) y luego intro , para salir de top pulsamos “q”.
    Muy buena entrada, pero me parece más simple esta forma. Si el terminal no se ejecuta probamos con ctrl+alt+f[1-6] y lo hacemeos desde ahí.

  3. En el caso de utilizar PID lo correcto es $kill PID que envia la señal SIGTERM por defecto, en el caso de que el proceso no responda se utiliza $kill -9 PID que envia la señal SIGKILL, esto ultimo elimina el proceso sin dejar que el mismo cierre correctamente (puede haber perdida de datos por ej.). SIGTERM pide por favor, SIGKILL le da un hachazo 🙂

  4. una consulta. ¿cuándo se cuelga el entorno de escritorio en Ubuntu (yo uso Unity), se puede reiniciar sin matar todos los demas procesos?. Yo no soy muy avanzado en linux y me pasa a veces que estoy trabajando y se cuelga, lo único que se hacer es el reinicio seguro, pero pierdo todo en lo que estaba trabajando.

    No se si se entiende mi duda.

    Saludos

  5. Un proceso en estado Zombie no se puede eliminar de la forma tradicional.

    Aqui para mas detalles: esdebian.org/wiki/matar-proceso-zombie

  6. Lo cierto es que el comando kill es muy util. Poder matar procesos molestos con solo invocar kill es genial. Por fin un comando que sirve para algo.

  7. Pregunta teorica: Matar un proceso significa que este deja de funcionar. Entonces, mi pregunta es al reves, si quiero arrancar de nuevo ese proceso que maté, cómo lo hago?

  8. y si quisiera que fuera un perfil en linux solamente el que se cierre como tendría que ser?

    ejemplo tengo 2 perfiles de firefox abiertos
    pero solo quiero que un solo perfil se cierre

    perfil 1
    perfil 2

    quiero que solo el perfil 2 se cierre como debería ser el comando

    de antemano gracias por la respuesta

Dejar una respuesta