Como identificar e eliminar o processo de interrupção, quando o sistema trava e reage lentamente na entrada do usuário?

24

Recentemente, quando tentei abrir um vídeo com o VLC, meu sistema ficou mais lento, o navegador de aplicativos abertos, o VLC e o gerenciador de arquivos e outros não reagiram mais. O mouse apenas reagiu ainda muito lentamente.

Em uma máquina Windows, eu pressionava um botão CTRL-ALT-DEL para abrir o gerenciador de tarefas, pesquisar o processo que causou o travamento e matá-lo.

Desde que eu sou bastante novo com o uso do linux, ainda não descobri a melhor prática para resolver essa situação no Ubuntu.

Que maneira rápida e eficaz você recomendaria identificar o processo de suspensão e fechá-lo, quando o sistema já reagir muito lentamente na entrada do usuário?

NES
fonte

Respostas:

32

Existem duas maneiras principais de identificar processos travados. Um é via GUI do System Monitor e o outro é via toplinha de comando.

Monitor do sistema

Isso pode ser encontrado em Sistema> Administração

conta

Você também pode criar um atalho de teclado para isso neste artigo .

Uma vez iniciada a GUI, você pode selecionar a guia Processos, que listará todos os processos em execução. Classifique pela coluna da CPU para encontrar a tarefa mais intensiva da CPU

CPU

Por fim, você pode clicar com o botão direito do mouse nessa tarefa e optar por encerrá-la, pará-la ou matá-la. Matá-lo irá parar imediatamente e remover esse processo do sistema.

mate

Linha de comando

Se você tiver um terminal aberto, basta digitar: topisso listará todos os processos em execução semelhantes aos da guia Processos na GUI

topo

No topo, a CPU é classificada por padrão - portanto, as tarefas mais intensivas da CPU estão no topo. A qualquer momento, você pode pressionar a letra kpara interromper um processo

k

Basta digitar o PID do processo que você deseja matar e pressionar enter. Ele solicitará um sinal de Kill para enviar. Para eliminar bem o processo, use o padrão 15 - para eliminá-lo imediatamente "Não passe, não colete US $ 200", use 9.

sigkill

O processo será encerrado.

Se você estiver enfrentando uma interface lenta, poderá tentar o SSH remotamente, se estiver ativado - ou alternar para um console virtual via Ctrl+ Alt+ F#Onde F#está uma tecla de função (F3, F4, F5, etc.). Para retornar ao ambiente da área de trabalho, mude para F7 ou F8, dependendo da sua versão do Ubuntu.

Marco Ceppi
fonte
5
Ótima resposta. Normalmente, atribuo o atalho CTRL + ESC ao System Monitor. Isso me dá um acesso rápido para matar o processo.
Javier Rivera
@Marco Ceppi: para onde foram as imagens?
enzotib
@enzotib A publicação foi atualizada
Marco Ceppi
1
+1 para o Monitor do sistema. Poderia matar / parar um processo VLC suspenso, o que o htop não poderia fazer.
malisokan
@malisokan Tem certeza de htopque não pode fazer isso? Você pode enviar a SIGKILL para matar qualquer processo suspenso ao qual você tenha direitos.
val diz Reinstate Monica
4

Adicione o System Monitorminiaplicativo ao seu painel ( clique com o botão direito do mouse no painel, selecione Add to Pannele pesquise Monitor do Sistema) e clique com o botão direito nele para abrir o aplicativo Monitor do Sistema.

Você pode iniciar o aplicativo Monitor do Sistema pressionando Alt+F2e iniciando o programa gnome-system-monitor.

Vá para a guia "Processos" e clique com o botão direito do mouse no aplicativo que você pretende matar .

Raphael Bossek
fonte
3

A maioria já disse (eu gosto da resposta de Marco Ceppi), mas também há um applet "Forçar Encerramento" que você pode adicionar ao seu Painel GNOME. Clique com o botão direito do mouse no painel e escolha "Adicionar ao painel ...":

texto alternativo

Isso permite que você saia de um aplicativo suspenso simplesmente clicando na janela. Muito rápido e eficiente.


Ao executar o Unity no 11.04, é claro que este aplicativo não estará mais disponível. Há um projeto de substituição Indicator-Forceclose, mas ele não está incluído nos repositórios.

Alternativamente, poderíamos correr xkillde um terminal.

Takkat
fonte
Isso apenas destrói a janela ou também mata o processo?
val diz Reintegrar Monica
@val mata o processo que criou a janela.
Takkat
Acabei de testar: isso não acontece. Eu criei um programa que fica dentro do retorno de chamada GTK e o matava com o xkill. A janela desapareceu, mas o programa continuou em execução (ou travou, se você preferir). Portanto, a resposta é não, ele pode não matar o programa se ele estiver seriamente bloqueado.
val diz Reinstate Monica
@val naturalmente depois que seu programa chamou outro processo para criar uma janela xkill, matará apenas esse processo adicional. Isso é especialmente importante para programas que são executados sem um servidor X, mas que chamam o X de janelas. Obviamente, seria impossível matar qualquer programa desse tipo a partir do servidor X.
Takkat
Meu programa não chamou outro processo para isso. Eu criei um programa que é igual a qualquer aplicativo GTK e o fiz travar.xkillnão afeta esses processos (o GTK causará a saída se mais tarde eu sair "pendurado" e fazer com que ele lide com a perda de janela). Os retornos de chamada GTK não têm nada a ver com multiprocessamento.
val diz Reintegrar Monica