Cómo matar procesos de Linux/aplicaciones que no responden usando el comando xkill


¿Cómo matamos un recurso/proceso en Linux? Obviamente encontramos el PID del recurso y luego pasamos el PID al comando kill.

Hablando con más precisión, podemos encontrar el PID de un recurso (por ejemplo, terminal) como:

$ ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

En la salida anterior, el número "6228" es el PID del proceso (gnome-terminal), use el comando kill para matar el proceso como se muestra a continuación.

$ kill 6228

El comando kill envía una señal a un proceso, cuyo PID se pasa junto con el comando.

Alternativamente, podemos usar el comando pkill, que mata un proceso según el nombre y otros atributos de un proceso. Para matar un proceso, digamos cuyo nombre es terminal, necesitamos ejecutar:

$ pkill terminal

Nota: La longitud del nombre del proceso en pkill está limitada a 15 caracteres.

pkill parece más útil ya que puede matar un proceso sin tener que averiguar su PID. Pero si desea tener un mejor control de su sistema, nada mejor que el comando "matar". Al usar kill, tendrá una mejor idea de qué proceso está matando.

Ya hemos cubierto una guía detallada sobre los comandos kill, pkill y killall.

Para aquellos que están ejecutando el servidor X, existe otra herramienta llamada xkill que puede matar un proceso desde su ventana X sin pasar el nombre del proceso o su PID.

La utilidad xkill obliga al servidor X a cerrar las comunicaciones con su cliente, lo que resulta en la muerte del cliente por su recurso X. xkill, que forma parte de las utilidades de X11, es muy útil para eliminar ventanas innecesarias.

Admite opciones como conectarse a un servidor X específico (-display displayname) usando el número de visualización cuando varios servidores X se están ejecutando en un host simultáneamente y eliminar a todos los clientes (-todos, no recomendado) con ventanas de nivel superior en la pantalla, así como tenga en cuenta el marco (-frame).

Para obtener una lista de todos los clientes que puede ejecutar:

$ xlsclients
'  ' /usr/lib/libreoffice/program/soffice
deb  gnome-shell
deb  Docky
deb  google-chrome-stable
deb  soffice
deb  gnome-settings-daemon
deb  gnome-terminal-server

Si no se pasa ningún identificador de recurso con id, xkill convierte el puntero del mouse en un símbolo especial, similar a "X". Simplemente haga clic en la ventana que desea eliminar y esto eliminará su comunicación con el servidor o dirá que el programa se elimina.

$ xkill

Es importante notar que xkill no garantiza que cerrar su comunicación lo matará/abortará con éxito. La mayor parte de la aplicación se eliminará cuando se cierre la comunicación con el servidor. Sin embargo, es posible que algunos aún se estén ejecutando.

Puntos necesarios para ser mencionados aquí:

  1. Esta herramienta solo funciona cuando el servidor X11 se está ejecutando, ya que xkill es parte de la utilidad X11.
  2. No confunda con Cerrar y eliminar un recurso. Mientras mata un recurso, puede esperar que no salga limpiamente.
  3. Esto no es un reemplazo de la utilidad kill.

No, no es necesario que ejecute xkill desde la línea de comandos de Linux. Puede establecer un atajo de teclado y llamar a xkill simplemente presionando la misma combinación de teclas.

A continuación se explica cómo configurar un método abreviado de teclado en un entorno de escritorio gnome3 típico.

Vaya a Configuración -> Seleccionar teclado, haga clic en "+" y agregue el nombre y el comando. Haga clic en la nueva entrada y presione la tecla que desea usar como combinación de teclas de acceso directo. Hice Ctrl + Alt + Shift + x.

La próxima vez que desee eliminar un recurso X, simplemente llame a la combinación de teclas (Ctrl + Alt + Shift + x) y notará que el puntero del mouse se convierte en x. Haga clic en el recurso x que desea eliminar y listo.