GDH Press: Blog » Xkill, atalhos e gerenciadores de processos
 
RSS

Xkill, atalhos e gerenciadores de processos

Publicado em 02/02/2009 – 20:42
por Carlos Morimoto

Embora o kernel Linux seja extremamente estável, a ponto de ser usado em sistemas de missão crítica, o mesmo não se aplica, necessariamente, a todos os inúmeros aplicativos que usamos no dia-a-dia. Tanto o Gnome quanto o KDE são plataformas bastante complexas, compostas por um número muito grande de componentes que trocam informações entre si. Não é de se estranhar que, às vezes, algo dê errado.

Para complicar, o rápido desenvolvimento do sistema e a necessidade por novos aplicativos acabam fazendo com que muitas vezes as distribuições tragam aplicativos ainda em estágio beta, ou que ainda não estão completamente estáveis. Isto acaba muitas vezes resultando em travamentos. A vantagem do Linux neste ponto é que você quase nunca precisará reiniciar todo o sistema, basta matar o aplicativo problemático, ou, no pior dos casos, reiniciar o ambiente gráfico.

A forma mais prática de finalizar aplicativos é usar o xkill, o "matador de programas" incluído no X. Ele pode ser chamado pressionando "Ctrl+Alt+Esc", ou chamando o comando "xkill" usando o "Alt+F2" ou diretamente através do terminal.

O cursor do mouse vira um X (ou uma caveira, de acordo com a distribuição) e basta clicar sobre a janela do aplicativo travado para encerrá-lo na marra:

xkill_html_m1b346760

O xkill simplesmente finaliza a primeira janela sobre a qual clicar, sem nenhuma confirmação adicional, por isso é importante chamá-lo com a janela em vista. Você pode "desarmar" o xkill depois de ativado usando o botão direito do mouse.

Uma observação importante é que, por default, o Ubuntu (pelo menos até a versão 8.10) não oferece um atalho de teclado para mater aplicativos travados usando o xkill, diferente de outras distribuições, onde é usado o "Ctrl+Alt+Esc". Com isso, você acaba sendo obrigado a pressionar Alt+F2 e rodar o comando "xkill" manualmente, o que não é muito prático.

Aplicativos travados acontecem nas melhores famílias, por isso uma forma rápida de acabar com eles acaba sendo importante. Vamos então à explicação de como recriar o atalho, aproveitando para falar sobre a configuração de atalhos no Gnome.

A maneira tradicional de definir atalhos no Gnome é usar o "System > Preferências > Atalhos de teclado", onde você pode especificar as teclas de atalho para um conjunto de ações pré-definidas:

xkill_html_m40641639

O problema é que o atalho para o xkill não está disponível na lista, o que nos obriga a adotar o procedimento manual.

Para isso, comece abrindo o "gconf-editor", usando o Alt+F2 ou através do terminal. Dentro dele, acesse o "/apps/metacity/keybinding_commands" e, no campo "command_1" especifique "/usr/bin/xkill", que é o caminho completo para o comando:

xkill_html_66f9adac

Em seguida, acesse o "/apps/metacity/global_keybindings" e especifique o atalho de teclas que acionará o comando, como em "Escape" (Ctrl+Esc), "K" ou outro atalho que preferir (como vimos, o default é o "Ctrl+Alt+Esc", mas no Gnome o atalho já é usado para alternar entre as janelas, por isso você vai primeiro precisar redefiní-lo se quiser dedicá-lo ao xkill):

xkill_html_333b81ec

Você pode usar essa mesma dica para definir atalhos para outros aplicativos, basta usar outros campos disponíveis no "apps/metacity/keybinding_commands" para indicar o comando e em seguida especificar o atalho de teclado no "apps/metacity/global_keybindings".

Voltando à questão dos aplicativos travados, em situações mais graves, onde o mouse parar de responder o ambiente gráfico ficar congerado, você pode reiniciar o X, o que reabre toda a parte gráfica, pressionando "Ctrl+Alt+Backspace". Embora você possa perder arquivos não salvos, esta é uma solução muito menos radical (e mais rápida) do que reiniciar o micro no botão.

Outra opção é mudar para um dos terminais de texto puro, pressionando Ctrl+Alt+F1-F6 e finalizar o aplicativo que está bloqueando o ambiente gráfico. Se você sabe qual é o culpado (ou pelo menos suspeita de quem seja), pode finalizá-lo usando o comando "killall", como em "killall totem" ou "killall firefox"

O problema com o killall é que em muitos casos o comando para fechar o programa não é o mesmo que seu nome. Para os casos onde você não souber o nome correto do programa, existe o comando "ps" que mostra todos os processos abertos. Existem várias opções para este comando. A que costumo usar mais freqüentemente é "ps x | more", que mostra todos os processos iniciados usando o seu login de usuário, sempre dando uma pausa quando esta encher a tela:

xkill_html_11e2bd69

Na coluna direita da lista você verá os nomes dos aplicativos. Veja que em muitos casos o mesmo programa aparece várias vezes, seja porque você abriu várias instâncias do programa, seja por ele realmente ser dividido em vários processos diferentes, mas o killall se encarrega de acabar com todos os vestígios.

Na coluna da esquerda está o PID de cada processo, um número de identificação que pode ser usado em conjunto com o comando kill para matar um processo específico, como em "kill 4060". Muitos aplicativos aparecem na lista com nomes gigantes, de maneira que é mais fácil fechá-los pelo número do processo.

Em casos mais extremos, de aplicativos rebelados que não respondam ao chamado do killall, ou do kill, você pode resolver o problema adicionando um "-9" no comando, como em:

# kill -9 6340

A diferença entre o "kill" ou o "killall" e o "kill -9" é que no primeiro caso o sistema envia um "bilhete azul" ao aplicativo, solicitando que ele desocupe o lugar. O "kill -9" por sua vez é um comando que orienta o sistema a fechar o aplicativo na marra, mandando os seguranças para removê-lo à força.

Além do ps -x, você pode tentar o "ps -aux", que inclui todos os processos ativos. A lista é sempre longa, pois inclui todos os serviços e componentes do sistema que são carregados automaticamente durante o boot. Outro programa de texto com a mesma função é o pstree. Ele mostra os processos na forma de uma árvore, permitindo que você veja como eles se relacionam.

Como em outros casos, você pode também monitorar os aplicativos de uma maneira mais amigável usando os monitores de sistema. Se você estiver no KDE, pode gerenciar os processos de uma forma muito mais amigável usando o Ksysguard. Basta procurar por ele no iniciar ou pressionar "Ctrl+Esc" para abri-lo.

No Gnome, está disponível o "Monitor de Sistema", que pode ser aberto através do "Sistema > Administração", ou usando o comando "gnome-system-monitor". Além de mostrar os aplicativos ativos e oferecer a opção de finalizá-los, ele inclui também informações sobre o uso do processador, uso de memória e até mesmo sobre o espaço livre nas partições:

xkill_html_m7ed063dd

Outra opção importante é o "Alterar prioridade", que serve como uma interface para o comando "nice", que permite ajustar o nível de prioridade do aplicativo em relação aos demais. Por default, todos os aplicativos (com exceção de alguns componentes do sistema) utilizam o valor "0", o que os coloca todos no mesmo nível.

Uma boa maneira de evitar que aplicativos que consumam muito processamento (como ao converter vídeos) deixem o sistema lento, é simplesmente ajustar o valor, usando um valor mais alto, entre 5 e 10. Isso faz com que o aplicativo seja mais bonzinho e passe a usar os ciclos ociosos de processamento, sem atrapalhar os outros:

xkill_html_1938381

» Mais posts

  1. 9 respostas para “Xkill, atalhos e gerenciadores de processos”

  2. ERNANI em 3 fev, 2009

    Iniciante no LINUX e oriundo do velho DOS, adorei as dicas do XKill. Aliás, estou surpreso como o Linux permite tamanha interação com o usuário, ainda que iniciante.

  3. Renato em 3 fev, 2009

    Achei o artigo muito informativo, principalmente na parte de como adicionar o atalho para o xkill no ubuntu…(há tempos eu queria fazer isso, mas não sabia como).

  4. Fabiano em 3 fev, 2009

    Legal esse post. Já usei o comando algumas vezes, quando usava umas distros mais antigas, mas sempre na linha de comando. Quando não conseguia resolver, sempre terminava reiniciando o computador (eu sei, vestígios do windows dentro de mim!). É bom saber que tenho alternativas à reinicialização do computador!

  5. Jefferson em 3 fev, 2009

    Muito interessante. Não sabia da existência do xkill. Costumo utilizar um applet do Gnome, o Fechar Forçado que pode ser adicionado com um clique do botão direito no painel, na opção Adicionar ao painel. Valeu pela dica.

  6. Eduardo em 5 fev, 2009

    Muito útil essa matéria. E de ótima qualidade também, parabéns!
    Agora eu sei o que vou fazer com o emesene quando ele teimar comigo! ;)

  7. Rubens Baumgratz em 19 fev, 2009

    Muito boa a questão dos atalhos e sobre como matar processos, são dicas de muito valor.

  8. Adriano em 23 fev, 2009

    Terminei, realmente muito bons os textos, vou continuar no focalinux, na verdade eu tinha começado nele só que empaquei no 8° texto pois o autor escreve de uma forma que da a enterder que eu já deveria saber o que ela esta explicando fazendo com que eu tenha que fazer várias pesquisas paralelas para enteder o texto, vou da uma olhada nos seus livros disponíveis, suas explicações são bem objetivas e simples Morimoto, mais uma vez obrigado por compartilhar !.

  9. felipez em 22 jul, 2009

    Simplismente Fantásticos esses guias. Como um usuário experiente em Windows mas novato no Linux, aprendi muito lendo-os. O que mais me move pra usar o Linux é ter que ler e aprender, pois no Win é tudo a mesma coisa, só acrescentando no visual e na lerdesa do sistema. Muito obrigado por estes textos. Parabéns.

    Abraços

  10. Marciano em 7 nov, 2009

    Adorei o artigo, consegui fazer tudo. Ai vai uma dica, se for colocar o atalho (Unico jeito que consegui) usando as teclas especiais, você tem que colocar entre . ex: x esse foi o atalho que usei para abrir o XKill.

    valeu por todos os envolvidos.


Comente: