![]() |
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.
«ps -ef | grep firefox» no es lo mismo que hacer «pgrep firefox»?
Bueno personalmente uso «pidof» para obtener el PID.
Saludos!
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í.
Que genios chicos gracias por ayudarme me dieron una gran mano con este post!!!
¡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!
recomiendo htop 😀 es la mejor para eso…
funciona con ncurses
sudo apt-get install htop
pidof no es para todos los Unix, por ejemplo Solaris no tiene ese comando, y eso nos lleva a usar el poderoso ps.
Saludos
htop es mas verboso y friendly user
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 🙂
Muchas gracias, lo probaré en si me vuelve a pasar.
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
Un proceso en estado Zombie no se puede eliminar de la forma tradicional.
Aqui para mas detalles: esdebian.org/wiki/matar-proceso-zombie
Para los mas avanzados, como matas a un proceso en estado ZOMBIE?
solo para generar un poco de charla 😀
Muy bueno, justo lo que necesitaba..
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.
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?
pues pones ./(el nombre del proceso) &
con esto lo ejecutas de nuevo y te saldra su PID tambien 😀
Excelente, tenía tiempo buscando ayuda como esta. Me fue muy útil. Muchas gracias por compartir.
Saludos desde San Luis Potosí, México.
Como puedo matar dos procesos sabiendo ya su PID en el mismo comando?
Creo que era «kill [Primer PID] [Segunda PID]
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.
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
como puedo matar los procesos de primer plano de ubuntu, con una sola linea de comndos