Como matar todos os processos para um usuário no Linux

Como matar todos os processos para um usuário no Linux
Não há nada mais frustrante do que fazer login no seu sistema Linux apenas para ter muitos processos desacelerando sua máquina. Embora o Linux seja muito bom no gerenciamento de processos, pode ser necessário encerrar alguns processos manualmente.

Neste tutorial, discutiremos como encontrar e matar processos de um usuário específico. Usaremos ferramentas como pkill e killall.

OBSERVAÇÃO: Certifique -se de ter acesso a uma conta administrativa ou à conta raiz porque os usuários regulares podem apenas matar seus processos, não processos pertencentes a outros usuários. Por outro lado, o usuário raiz pode matar todos os processos.

Vamos começar.

Entendendo os sinais do sistema

Para matar um processo específico, o comando envia um sinal para o processo. Por padrão, comandos de matar como Killall enviam um sinal de termo que interrompe graciosamente o processo especificado.

Antes de prosseguirmos para matar o comando, vamos assumir uma breve visão geral dos sinais do processo.

Os tipos comuns de sinais de morte incluem:

  • Sighup - Este sinal recarrega um processo. Tem um valor inteiro de 1.
  • Sigint - Interrompa do teclado como Ctrl + C. Tem um valor inteiro de 2.
  • Sigkill - Mate um processo. Tem um valor inteiro de 9.
  • Sigterm - Este é um sinal de terminação, que, como afirmado, interrompe graciosamente um processo. Tem um valor inteiro de 15.
  • Sigstop - Interrompe um processo. Tem um valor inteiro de 17, 19 ou 23.

OBSERVAÇÃO: Ao encerrar processos, é bom começar com o sinal menos agressivo, como o termo. O uso de um sinal como o termo permitirá que o programa seja desligado corretamente e use as medidas definidas quando o programa receber o sinal do termo.

Um sinal de morte também pode ser útil, especialmente se um processo tiver encontrado um erro, falha em sair ou não responde ao sinal int.

Para visualizar todos os sinais disponíveis, use um comando como uma matar -l

Método #1 - O Comando Killall

O primeiro comando que você pode usar para matar processos Linux é o comando killall. Para isso, você precisa do valor PID ou do nome do processo que deseja rescindir.

Você pode usar uma ferramenta como PGREP para obter o PID de um processo específico.

Por exemplo:

$ PGREP BASH
2500

Depois de ter o valor PID do processo, você pode terminar usando o comando Kill como:

$ killall -15 2500
# ou
$ Killall -15 Bash

O comando acima enviará um sinal de rescisão gracioso.

Para enviar um sinal de morte, use o inteiro -9 como:

$ kill -9 2500
# ou
$ Killall -9 Bash

Como matar todos os processos do usuário com killall

O comando Killall permite que você encerre todos os processos pertencentes a um usuário específico. Para fazer isso, use a bandeira -u.

Por exemplo, para rescindir todos os processos gerados pelo usuário do Ubuntu.

$ sudo killall -u ubuntu

CUIDADO: Dependendo do usuário especificado no comando, a encerramento dos processos pode fazer com que o sistema trava ou interrompa os processos críticos do sistema. Portanto, antes de aplicar este comando, verifique se o usuário em questão não está executando processos que você não deseja rescindir.

Método #2: o comando pkill

Outra ótima ferramenta que você pode usar para encerrar os processos Linux é o comando pkill. Este comando funciona de maneira semelhante a Killall.

Por exemplo, para encerrar o processo Bash com Pkill, use o comando:

$ PKILL -15 BASH
# ou
$ pkill -15 2500

Para matar todos os processos pertencentes ao usuário do Ubuntu, podemos usar o comando:

sudo pkill -9 -u ubuntu

Conclusão

É isso para este.

Neste guia, discutimos rapidamente maneiras de encerrar processos no Linux e vários tipos de sinais de morte. Como visto, matar um único processo ou múltiplos processos de propriedade de um usuário específico do Linux é fácil.