Como matar um processo a partir da linha de comandos

interessado em aprender mais sobre a administração Linux? Explore esses cursos de treinamento Linux.

  • Introduction to Linux (LFS101x) – Free
  • Essentials of Linux System Administration (LFS201)

Learn how to kill errant processes in this tutorial from our archives.

Imagine isto: você lançou uma aplicação (seja a partir do seu menu favorito ou da linha de comandos) e você começa a usar essa aplicação lançada, apenas para que ela se bloqueie em si, pare de executar ou morra inesperadamente. Você tenta executar o aplicativo novamente,mas acontece que o original nunca realmente fechou completamente.o que faz? Tu matas o processo. Mas como? Acredite ou não, a sua melhor aposta está, na maioria das vezes, dentro da linha de comando. Felizmente, o Linux tem todas as ferramentas necessárias para capacitá-lo, o Usuário, para matar um processo errante. No entanto, antes de lançar imediatamente esse comando para matar o processo, você primeiro tem que saber qual é o processo. Como é que tratas desta tarefa em camadas? Na verdade, é muito simples…quando conhecemos as ferramentas à nossa disposição.deixa-me apresentar-te as ferramentas.

os passos que vou esboçar irão funcionar em quase todas as distribuições Linux, seja um desktop ou um servidor. Vou lidar estritamente com a linha de comando, então abra o seu terminal e prepare-se para digitar.

localizar o processo

o primeiro passo para matar o processo sem resposta é localizá-lo. Existem dois comandos que eu uso para localizar um processo: top e ps. Top é uma ferramenta que todo administrador deve conhecer. Com o top, você recebe uma lista completa do processo em execução. A partir da linha de comandos, emitir top para ver uma lista de seus processos em execução (Figura 1).

Figura 1: o comando superior dá-lhe muita informação.

desta lista você verá algumas informações bastante importantes. Por exemplo, o cromado não responde. De acordo com nossa exibição de topo, podemos discernir que existem quatro instâncias de cromo rodando com IDs de processo (PID) 3827, 3919, 10764, e 11679. Esta informação será importante para ter com um método particular de matar o processo.

embora o topo seja incrivelmente útil, nem sempre é o meio mais eficiente de obter a informação que você precisa. Digamos que você sabe que o processo Chrome é o que você precisa matar, e você não quer ter que olhar através da informação em tempo real oferecida pelo top. Para isso, você pode fazer uso do comando ps e filtrar a saída através do grep. O comando ps reporta uma imagem de um processo actual e o grep imprime linhas correspondentes a um padrão. A razão pela qual filtramos ps através do grep é simples: Se você emitir o comando ps por si só, você receberá uma listagem instantânea de todos os processos atuais. Só queremos a lista associada ao Chrome. Portanto, este comando seria:

ps aux | grep chrome

aux opções são as seguintes:

  • a = mostrar processos de todos os usuários

  • u = mostrar o processo do usuário/proprietário

  • x = também mostra processos que não são ligados a um terminal

O x opção é importante quando você está caçando para obter informações sobre uma aplicação gráfica.

Quando emitir o comando acima, ser-lhe-á dada mais informação do que necessita (Figura 2) para matar um processo, mas por vezes é mais eficiente do que usar o top.

Figura 2: Localização da informação necessária com o comando ps.

Killing the process

Now we come to the task of killing the process. Temos duas informações que nos ajudarão a matar o processo errante.:

  • nome do processo

  • ID do processo

que você usa irá determinar o comando usado para terminar. Existem dois comandos usados para matar um processo de:

  • matar – Matar um processo pelo ID

  • killall – mata um processo pelo nome

também Existem diversos sinais que podem ser enviados para matar comandos. O sinal que enviar será determinado pelos resultados que quer do comando kill. Por exemplo, você pode enviar o sinal HUP (desligar) para o comando kill, que irá efetivamente reiniciar o processo. Esta é sempre uma escolha sábia quando você precisa que o processo reinicie imediatamente (como no caso de um daemon). Você pode obter uma lista de todos os sinais que podem ser enviados para o comando kill emitindo kill-l. você vai encontrar um grande número de sinais (Figura 3).

Figure 3: The available kill signals.

os sinais de morte mais comuns são::

Signal Name

Single Value

Effect

SIGHUP

Hangup

SIGINT

Interrupt from keyboard

SIGKILL

Kill signal

SIGTERM

Termination signal

SIGSTOP

17, 19, 23

Stop the process

o que é bom sobre isso é que você pode usar o valor do sinal no lugar do nome do sinal. Então você não tem que memorizar todos os nomes dos vários sinais. então, vamos agora usar o comando kill para matar a nossa instância do chrome. A estrutura para este comando seria:

kill SIGNAL PID

onde o sinal é o sinal a ser enviado e PID é o ID do processo a ser morto. Já sabemos, pelo nosso comando ps, que os IDs que queremos matar São 3827, 3919, 10764 e 11679. Para enviar o sinal de morte, emitimos os comandos.:

kill -9 3827kill -9 3919kill -9 10764kill -9 11679

Uma vez que tenhamos emitido os comandos acima, todos os processos chrome terão sido mortos com sucesso.vamos pelo caminho mais fácil! Se nós já sabemos que o processo queremos matar é chamado de chrome, podemos usar o comando killall e enviar o mesmo sinal, o processo da seguinte forma:

killall -9 chrome

A única ressalva para o comando acima é que ele não pode pegar todos de execução chrome processos. Se, depois de executar o comando acima, emitir o comando ps aux|grep chrome e ver os processos restantes em execução, a sua melhor aposta é voltar ao comando kill e enviar o sinal 9 para terminar o processo pelo PID.

processos finais facilitados

como você pode ver, matar processos errantes não é tão desafiador quanto você poderia ter pensado. Quando eu acabo com um processo teimoso, eu tendem a começar com o comando killall como é o caminho mais eficiente para a terminação. No entanto, quando você acaba com um processo realmente aguerrido, o comando kill é o caminho a seguir.

aprenda mais sobre o Linux através do curso livre “Introdução ao Linux” da Linux Foundation e edX.

Related Posts

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *