El comando de interrupción se utiliza para enviar una señal a un proceso o para finalizarlo (cancelar su ejecución). Generalmente se usa: kill -señal PID. Siendo que el PID es el número que identifica el proceso (Process ID).
Hay varias maneras de finalizar con eficacia un proceso. Como por ejemplo, se puede finalizar un proceso por el nombre o parte del nombre, colocando el puntero del ratón sobre la ventana y haciendo click, etcétera.
En este artículo vamos a ver 4 maneras de finalizar un proceso.
Para empezar tenemos que saber qué proceso queremos finalizar. Podemos descubrir una lista de todos los procesos que están en ejecución y buscando de uno en uno en la lista que aparece con el comando:
ps aux
Pero este método puede tomar y dar trabajo. Entonces si conoces el nombre del proceso, puedes buscarlo directamente, cosa que facilita mucho la vida. Si el proceso es Firefox, por ejemplo, podrías buscarlo con el comando:
ps -ef | grep firefox
1. Kill – Finalizar el proceso indicando el PID
Un proceso no puede enviar una señal directamente a otro proceso; se debe pedir al kernel que envíe la señal ejecutando una llamada al sistema (system call). Los usuarios (incluyendo el superusuario root) pueden enviar señales a otros procesos en la línea de comandos, utilizando el comando kill.
Todos los ejemplos a continuación envían una señal TERM para el proceso especificado por PID, que es el estándar del comando kill. Tanto el nombre como el número de la señal puede ser utilizado. Es solo cuestión de buscar el PID del proceso y utilizarlo en el ejemplo.
kill -SIGTERM pid kill -TERM pid kill -15 pid
Si quisiéramos finalizar Firefox haríamos:
ps -ef | grep firefox
Consejos:
a) Finalizar todos los procesos que permite el sistema según tus permisos:
kill -9 -1
b) Listar las opciones disponibles de la señal en una tabla:
kill -L
Hecho. Vamos a ver otro método.
2. Killall – Finalizar el proceso indicando el nombre
Muy fácil. No es necesario especificar el PID, es solo necesario informar el nombre del proceso. Pero si más de un proceso se está ejecutando con el nombre informado, todos serán terminados.
En el ejemplo de Firefox, el procedimiento sería:
killall -9 firefox
Algunas opciones útiles son:
a) -e, –exact
Busca el nombre exacto (verifica solo los primeros 15 caracteres).
b) -I, –ignore-case
No distingue caja alta y caja baja.
c) -u, –user
Termina solo los procesos de un usuario determinado.
3. Pkill – Envía la señal basándose en el nombre del proceso
Envía una señal para los procesos transmitiendo todo el nombre o parte del mismo. No es necesario especificar el PID de los procesos para enviar la señal. La parte del nombre o el nombre completo debe estar especificada en los primeros 15 caracteres para ser comparado. Teniendo un proceso en ejecución, un ejemplo sería:
a) Verificar los procesos que se verán afectados por pkill mediante el comando:
pgrep -l “nombre del proceso”
b) Enviar la señal:
pkill “nombre del proceso”
Vamos ahora al último método de este artículo.
4. Xkill – Cliente X para kill
Es la forma más sencilla y fácil de matar un proceso con problemas en X. Teniendo el proceso de una ventana abierta y trabada en la pantalla, basta con ejecutar el comando, poner el cursor sobre esta y hacer click, lo que hará que xkill informe al servidor X qué proceso debe finalizar. El procedimiento es simple:
1) En el gestor de ventanas, presiona Alt+F2 y en la ventana de ejecución escribe xkill.
2) El cursor se convertirá, indicando que está listo para marcar la ventana (proceso) molesta y acabar con ella.
3) Mueve el cursor y haz click en el botón del ratón.
¡Asunto finalizado!
Si el gestor de ventanas no proporciona una ventana de ejecución pulsando Alt+F2, puedes llamarla desde la terminal así:
xkill
El resto es igual a lo explicado anteriormente.
También te puede interesar: Qué es y cómo hacer ping en Linux.