Como Encerrar Processos/Programas Linux Não Responsivos Usando o Comando ‘xkill’

Como matamos um recurso/processo no Linux? Obviamente, encontramos o PID do recurso e depois passamos o PID para o comando kill.

Falando de forma mais precisa, podemos encontrar o PID de um recurso (por exemplo, o terminal) da seguinte forma:

$ ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

No resultado acima, o número ‘6228‘ é o PID do processo (gnome-terminal), use o comando kill para matar o processo, como mostrado abaixo.

$ kill 6228

O comando kill envia um sinal para um processo, cujo PID é passado junto com o comando.

Alternativamente, podemos usar o comando pkill, que mata um processo com base no nome e em outros atributos de um processo. Para matar um processo cujo nome é terminal, precisamos executar:

$ pkill terminal

Observação: O comprimento do nome do processo no pkill é limitado a 15 caracteres.

O pkill parece mais prático, pois você pode matar um processo sem precisar descobrir o seu PID. Mas se você quiser ter um melhor controle sobre o seu sistema, nada supera o comando ‘kill‘. Usando o kill, você terá uma melhor compreensão de qual processo está matando.

Já cobrimos um guia detalhado sobre os comandos kill, pkill e killall.

Para aqueles que estão executando o X server, existe outra ferramenta chamada xkill que pode matar um processo a partir de sua janela X sem precisar passar o nome do processo ou seu PID.

A utilidade xkill força o servidor X a encerrar a comunicação com seu cliente, o que resulta no encerramento do cliente por seu recurso X. xkill, que é parte das utilidades X11, é muito útil para encerrar janelas desnecessárias.

Ele suporta opções como se conectar a um servidor X específico (-display nomedisplay) usando o número do display quando vários servidores X estão sendo executados simultaneamente em um host e encerrar todos os clientes (-all, não recomendado) com janelas de nível superior na tela, bem como levar em consideração a moldura (-frame).

Para obter uma lista de todos os clientes, você pode executar:

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

Se nenhum identificador de recurso for fornecido com o id, o xkill transforma o ponteiro do mouse em um símbolo especial, semelhante a ‘X’. Basta clicar na janela que você deseja encerrar e isso encerrará sua comunicação com o servidor ou seja, o programa será encerrado.

$ xkill
Kill Process Using xkill

É importante observar que o xkill não garante que o encerramento de sua comunicação irá matá-lo/abortá-lo com sucesso. A maioria das aplicações será encerrada quando sua comunicação com o servidor for encerrada. No entanto, algumas ainda podem estar em execução.

Pontos a serem mencionados aqui:

  1. Esta ferramenta só funciona quando o servidor X11 está em execução, pois o xkill é parte da utilidade X11.
  2. Não confunda encerrar e matar um recurso. Ao matar um recurso, você pode esperar que ele não saia de forma limpa.
  3. Isso não substitui a utilidade kill.
É necessário ir para a linha de comando do Linux para invocar o xkill?

Não, você não precisa executar xkill a partir da Linha de Comando do Linux. Você pode definir um atalho de teclado e chamar o xkill apenas pressionando a mesma combinação de teclas.

Aqui está como configurar um atalho de teclado em um ambiente de desktop típico gnome3.

Vá para Configurações -> Selecionar Teclado, clique em ‘+’ e adicione um nome e um comando. Clique na nova entrada e pressione a tecla que você deseja usar como combinação de atalho. Eu usei Ctrl+Alt+Shift+x.

Gnome Settings
Add Shortcut Key

Da próxima vez que você quiser encerrar um recurso X, basta chamar a combinação de teclas (Ctrl+Alt+Shift+x) e você notará que o ponteiro do mouse mudará para x. Clique no recurso x que você deseja encerrar e pronto!

Source:
https://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/