Existe algo que eu possa fazer no terminal quando um programa congela e o Ubuntu deixa de responder?

Existe algo que eu possa fazer no terminal quando um programa congela e o Ubuntu deixa de responder?

Eu estava trabalhando normalmente e de repente um programa travou: ele não respondeu e sua janela ficou cinza. Depois disso apareceu esta mensagem perguntando o que fazer: fechar o programa ou esperar que ele responda.

Selecionei fechar o programa, mas não funcionou como esperado: todo o Ubuntu travou e não pude fazer nada.

Percebi então que digitando Ctrl + Alt + tconsegui abrir o terminal, e funcionou: abriu o terminal.Mas eu não sabia o que fazer a seguir.

Então minha pergunta é:O que fazer no terminal se um programa travar?No meu caso era o nautilus (eu estava me conectando a um servidor remoto, usando-o como um programa FTP) e acabei reiniciando a máquina com sudo reboot.

É uma droga. Teria sido muito melhorpara fechar o programa que não responde, mas como posso fazer isso? E se eu não souber o nome do programa que não responde?

Para sua informação, eu li este tópico "Os elementos da interface do usuário param completamente de responder" e não acho que seja o mesmo caso aqui, porque normalmente não tenho esse problema, é um tanto incomum, e a memória está funcionando bem, e a máquina é bem nova (Intel Core i7, 8 Gb de RAM ).

Responder1

Você pode fazer xkill. Este pequeno utilitário bacana destrói automaticamente a próxima janela em que você clicar.

Outra opção que você pode usar é algo chamado topou htop. Procure um processo estranho, especialmente algo marcado como “zumbi” ou que esteja consumindo muitos recursos do sistema. Você pode então matá-lo usando a Kchave. Use o código kill 9, pois isso causa uma interrupção instantânea e forçada do processo.

Digamos que o programa ruim seja nautilus. Use um destes métodos:

  1. Use xkillno terminal e clique na janela do Nautilus. O X encerrará sua sessão, causando o travamento do Nautilus. Envie spam para a ESCchave por alguns segundos para garantir que o Xkill ainda não esteja em execução.
  2. killall -9 nautilus
  3. Corra top, procure nautiluse mate-o de cima.

Observe que pode ser necessário usar sudoprivilégios para encerrar alguns processos.

Responder2

Uma das grandes vantagens de um sistema baseado em terminal que temos é que a resposta é um sonoro SIM.

O que normalmente faço é mudar para o terminal 1 (sua área de trabalho está sempre no terminal 7) com control- alt- f1.

Se você sabe o que é o programa, isso será muito fácil: encontre o ID do processo dessa tarefa e elimine-o. A tarefa desaparecerá no terminal 7 e se isso resolver o travamento, seu sistema responderá novamente.

Exemplo usando o Firefox: quando você inicia o Firefox, ele obtém um ID de processo e você pode visualizá-lo com ps -ef | grep firefox. Substitua o Firefox pelo que você deseja pesquisar.

ps -ef |grep firefox
rinzwind  5046  1484 48 19:52 ?        00:00:01 /usr/lib/firefox/firefox
rinzwind  5113  4992  0 19:52 pts/4    00:00:00 grep --color=auto firefox

(o processo referente ao grep é meu comando)

O primeiro número atrás do meu nome de login é o ID do processo. kill -9 5046vai matar o Firefox:

~$ kill -9 5046
~$ ps -ef |grep firefox
rinzwind  5148  4992  0 19:54 pts/4    00:00:00 grep --color=auto firefox

e o Firefox sumiu da minha área de trabalho.

O problema normalmente é identificar o ID do processo correto: quando você tem 5 sessões do Firefox abertas...obter o correto será um pouco problemático. Talvez seja necessário adicionar mais lógica para restringi-lo.


Aviso: use o bom senso. Deve-se evitar eliminar os IDs de processo mais baixos (abaixo de 500).

informação relacionada