La mayoría de las veces querrá que un programa termine por sus propios medios, o, si es una aplicación gráfica, usando la opción de menú apropiada o usando la cruz en la esquina.
De vez en cuando se cuelga un programa, en cuyo caso necesitarás un método para matarlo. También es posible que desee eliminar un programa que se está ejecutando en segundo plano y que ya no necesita ejecutar.
Esta guía proporciona un método para eliminar todas las versiones de la misma aplicación que se están ejecutando en su sistema.
Índice de contenidos
Cómo usar el comando’killall’
El comando killall mata todos los procesos por nombre. Esto significa que si tiene tres versiones del mismo programa ejecutándose, el comando killall matará a las tres.
Por ejemplo, abra un pequeño programa como un visor de imágenes. Ahora abra otra copia del mismo visor de imágenes. Para este ejemplo, hemos elegido Xviewer, que es un clon de Eye Of Gnome.
Ahora abra un terminal y escriba el siguiente comando:
matriculaciónPor ejemplo, para eliminar todas las instancias de Xviewer, escriba lo siguiente:
espectáculo xviewer de Killall
Ambas instancias del programa que ha elegido matar se cerrarán ahora.
Matar el proceso exacto
killall puede producir resultados extraños. Bueno, aquí hay una razón por la que. Si tiene un nombre de comando de más de 15 caracteres, el comando killall sólo funcionará con los primeros 15 caracteres. Por lo tanto, si tiene dos programas que comparten los mismos 15 primeros caracteres, ambos programas se cancelarán aunque sólo quisiera matar uno.
Para evitarlo, puede especificar el siguiente parámetro, que sólo eliminará los archivos que coincidan con el nombre exacto.
killall -eIgnorar caso cuando se matan programas
Para asegurarse de que el comando killall ignora el caso del nombre del programa que usted proporciona, use el siguiente comando:
killall -I
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.killall --ignore-casoEliminar todos los programas del mismo grupo
Cuando ejecuta un comando como el siguiente creará dos procesos:
ps -ef | menosUn comando es para la parte ps -ef que lista todos los procesos en ejecución en su sistema y la salida es canalizada al comando menos.
Ambos programas pertenecen al mismo grupo, que es bash.
Para matar ambos programas a la vez, puede ejecutar el siguiente comando:
killall -gPor ejemplo, para matar todos los comandos que se ejecutan en un shell de bash, ejecute lo siguiente:
killall -g bashPor cierto, para listar todos los grupos en ejecución, ejecute el siguiente comando:
ps -gObtener confirmación antes de matar programas
Obviamente, el comando killall es un comando bastante poderoso y no quieres matar accidentalmente los procesos equivocados.
Usando el siguiente interruptor se le preguntará si está seguro antes de que cada proceso sea eliminado.
Killall -i
Matar procesos que han estado funcionando durante cierto tiempo
Imagine que ha estado ejecutando un programa y le está llevando mucho más tiempo del que esperaba.
Puede matar el comando de la siguiente manera:
killall -o h4La h en el comando anterior significa horas.
También puede especificar cualquiera de las siguientes opciones:
- s - segundos
- m - minutos
- h - horas
- d - días
- w - semanas
- M - meses
- y - años
Alternativamente, si desea eliminar los comandos que acaban de empezar a ejecutarse, puede utilizar el siguiente conmutador:
killall - h4Esta vez el comando killall matará todos los programas que se ejecuten durante menos de 4 horas.
No me digas cuando un proceso no es eliminado
Por defecto, si intenta matar un programa que no se está ejecutando, recibirá el siguiente error:
nombre del programa: no se ha encontrado ningún procesoSi no quiere que le digan si el proceso no fue encontrado, use el siguiente comando:
Killall -q
Usando Expresiones Regulares
En lugar de especificar el nombre de un programa o comando, puede especificar una expresión regular para que todos los procesos que coincidan con la expresión regular sean cerrados por el comando killall.
Para usar una expresión regular use el siguiente comando:
killall -rEliminar programas para un usuario específico
Si desea matar un programa que está siendo ejecutado por un usuario específico, puede especificar el siguiente comando:
killall -uSi desea matar todos los procesos de un usuario en particular, puede omitir el nombre del programa.
Esperar a que killall termine
Por defecto, killall volverá directamente al terminal cuando lo ejecute, pero puede forzar a killall a esperar hasta que se hayan cerrado todos los procesos especificados antes de volver a la ventana del terminal.
Para ello, ejecute el siguiente comando:
killall -wSi el programa nunca muere, killall también seguirá viviendo.
Señales Señales Señales Señales Señales
Por defecto, el comando killall envía la señal SIGTERM a los programas para que se cierren y este es el método más limpio para matar programas.
Sin embargo, hay otras señales que puedes enviar usando el comando killall y puedes listarlas usando el siguiente comando:
killall -l
La lista devuelta será algo así:
- HUP
- INT
- SALIR
- ILL
- TRAMPA
- ABRT
- IOT
- BUS
- FPE
- MATAR
- USR1
- SEGV
- USR2
- TUBO
- ALRM
- TERM
- STKFLT
- CHLD
- CONT
- STOP
- TSTP
- TTIN
- TTOU
- URG
- XCPU
- XFSZ
- VTALRM
- PROG
- WYNCH
- IO
- PWR
- SYS
- NO UTILIZADO
Esa lista es extremadamente larga. Para leer sobre lo que significan estas señales, ejecute el siguiente comando:
pre>señal de hombre 7Generalmente, usted debe usar la opción SIGTERM por defecto, pero si el programa se niega a morir, puede usar SIGKILL, que obliga al programa a cerrarse, aunque de una manera indigna.
Otras maneras de matar un programa
Hay otras 5 maneras de matar una aplicación Linux.
Sin embargo, para ahorrarle el esfuerzo de hacer clic en el enlace, aquí hay una sección que muestra cuáles son esos comandos y por qué podría usarlos en lugar de matarlos.
La primera es la orden de matar. El comando killall como has visto es genial para matar todas las versiones del mismo programa. El comando kill está diseñado para matar un proceso a la vez y, por lo tanto, es más selectivo.
Para ejecutar el comando kill necesita saber el ID de proceso del proceso que desea matar. Para ello, puede utilizar el comando ps.
Por ejemplo, para encontrar una versión en ejecución de Firefox, puede ejecutar el siguiente comando:
ps -ef | grep firefoxVerá una línea de datos con el comando /usr/lib/firefox/firefox al final. Al principio de la línea, verá su ID de usuario y el número después del ID de usuario es el ID del proceso.
Usando el ID de proceso puedes matar a Firefox ejecutando el siguiente comando:
kill -9Otra forma de matar un programa es usando el comando xkill. Esto se utiliza generalmente para matar las aplicaciones gráficas que se comportan mal.
Para matar un programa como Firefox, abra un terminal y ejecute el siguiente comando:
xkill
El cursor cambiará ahora a una gran cruz blanca. Pase el cursor por encima de la ventana que desea matar y haga clic con el botón izquierdo del ratón. El programa saldrá inmediatamente.
Otra forma de matar un proceso es usando el comando superior de Linux. El comando superior lista todos los procesos en ejecución en su sistema.
Todo lo que tiene que hacer para matar un proceso es presionar la tecla k e ingresar el ID de proceso de la aplicación que desea matar.
Anteriormente en esta sección, resaltamos el comando kill y se requería que usted encontrara el proceso usando el comando ps y luego matara el proceso usando el comando kill. Esta no es la opción más sencilla en absoluto.
Por un lado, el comando ps devuelve un montón de información que no necesitas. Todo lo que querías era la identificación del proceso. Puede obtener el ID de proceso más simplemente ejecutando el siguiente comando:
pgrep firefox
El resultado del comando anterior es simplemente el ID de proceso de Firefox. Ahora puede ejecutar el comando kill de la siguiente manera:
kill(Reemplace
con el ID de proceso real devuelto por pgrep). En realidad, es más fácil, sin embargo, suministrar simplemente el nombre del programa a pkill de la siguiente manera:
pkill firefoxFinalmente, puede utilizar una herramienta gráfica como la que se suministra con Ubuntu llamada System Monitor. Para ejecutar "Monitor de sistema" pulse la tecla s