Pesquisa de site

Como eliminar processos/aplicativos que não respondem do Linux usando o comando ‘xkill’


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

Falando com mais precisão, podemos encontrar o PID de um recurso (digamos, terminal) como:


ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

Na saída acima, o número ‘6228’ é o PID do processo (gnome-terminal), use o comando kill para encerrar o processo conforme 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 outros atributos de um processo. Para matar um processo cujo nome é terminal, precisamos executar:


pkill terminal

Nota: O comprimento do nome do processo em pkill é limitado a 15 caracteres.

pkill parece mais útil porque você pode encerrar um processo sem precisar descobrir seu PID. Mas se você deseja ter um controle melhor do seu sistema, nada se compara ao comando ‘kill’. Usando kill, você terá uma visão melhor de qual processo está eliminando.

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

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

O utilitário xkill força o servidor X a fechar as comunicações com seu cliente, o que resulta na morte do cliente por seu recurso X. xkill, que faz parte dos utilitários X11, é muito útil para eliminar janelas desnecessárias.

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

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


xlsclients
Saída de amostra

'  ' /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 passado com id, xkill transforma o ponteiro do mouse em um símbolo especial, semelhante a ‘X‘. Basta clicar na janela que deseja encerrar e isso interromperá sua comunicação com o servidor ou dirá que o programa foi encerrado.


xkill

É importante notar que o xkill não garante que o fechamento da sua comunicação irá matá-la/abortá-la com sucesso. A maior parte do aplicativo será encerrada quando a comunicação com o servidor for encerrada. No entanto, alguns ainda podem estar em execução.

Pontos necessários para serem mencionados aqui:

  1. Esta ferramenta funciona apenas quando o servidor X11 está em execução, pois xkill faz parte do utilitário X11.
  2. Não confunda com Fechar e eliminar um recurso. Ao eliminar um recurso, você pode esperar que ele não saia corretamente.
  3. Este não é um substituto do utilitário kill.
Preciso ir para a linha de comando do Linux para invocar o xkill?

Não, você não precisa disparar o xkill na linha de comando do Linux. Você pode definir um atalho de teclado e chamar xkill apenas pressionando a mesma combinação de teclas.

Veja como configurar um atalho de teclado em um ambiente de área de trabalho gnome3 típico.

Vá para Configurações –> Selecionar teclado, clique em '+' e adicione nome e comando. Clique na nova entrada e pressione a tecla que deseja usar como combinação de teclas de atalho. Eu fiz Ctrl+Alt+Shift+x.

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