Cómo matar procesos fácilmente

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á:

Artículo relacionado:
Apagar y reiniciar mediante comandos
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.

Artículo relacionado:
Cron & crontab, explicados

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.


22 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Jerónimo Navarro dijo

    «ps -ef | grep firefox» no es lo mismo que hacer «pgrep firefox»?

    Bueno personalmente uso «pidof» para obtener el PID.

    Saludos!

  2.   Iago Martínez Ocaña dijo

    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.   Anatonia dijo

    Que genios chicos gracias por ayudarme me dieron una gran mano con este post!!!

  4.   Octavio Villanueva dijo

    ¡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!

  5.   heberth ardila dijo

    recomiendo htop 😀 es la mejor para eso…

    funciona con ncurses

    sudo apt-get install htop

  6.   lyonn dijo

    pidof no es para todos los Unix, por ejemplo Solaris no tiene ese comando, y eso nos lleva a usar el poderoso ps.

    Saludos

  7.   dub dijo

    htop es mas verboso y friendly user

  8.   RudaMacho dijo

    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 🙂

  9.   Rodrigo dijo

    Muchas gracias, lo probaré en si me vuelve a pasar.

  10.   Rodrigo dijo

    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

  11.   StallValds dijo

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

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

  12.   krafty dijo

    Para los mas avanzados, como matas a un proceso en estado ZOMBIE?
    solo para generar un poco de charla 😀

  13.   Jorge Vips dijo

    Muy bueno, justo lo que necesitaba..

  14.   Pepe dijo

    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.

  15.   Alex dijo

    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?

    1.    alex dijo

      pues pones ./(el nombre del proceso) &
      con esto lo ejecutas de nuevo y te saldra su PID tambien 😀

  16.   JC Rivera dijo

    Excelente, tenía tiempo buscando ayuda como esta. Me fue muy útil. Muchas gracias por compartir.
    Saludos desde San Luis Potosí, México.

  17.   alex dijo

    Como puedo matar dos procesos sabiendo ya su PID en el mismo comando?

    1.    Juan dijo

      Creo que era «kill [Primer PID] [Segunda PID]

  18.   Gauchita Watafak dijo

    Muy interesante el artículo. Esta web es mi web linux de cabecera.

    Generalmente yo uso:
    ps ax | grep nombre_del_proceso ( ésto para ubicarlo en el sistema)
    kill -9 id_del_proceso

    Les comparto un curso online y gratuito de bash que anda en la vuelta:
    https://aprendemia.com/cursos/curso-de-bash-scripting Ojalá les sea de utilidad.

  19.   andy dijo

    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

  20.   Moi dijo

    como puedo matar los procesos de primer plano de ubuntu, con una sola linea de comndos