Neste guia, demonstraremos como matar um processo Linux por seu PID.
PID em Linux
O termo PID é um acrônimo para "número de identificação do processo". Cada processo recebe um PID único no momento em que eles são criados no sistema. O número 1 do PID é atribuído ao Systemd (init, para sistemas mais antigos). Essencialmente, o SystemD ou o init é sempre o primeiro processo a iniciar no Linux e é pai de todos os outros processos.
Existem algumas ferramentas que podemos usar para obter o PID de um processo de destino. O método mais popular (e recomendado) de obter o PID está usando o comando ps. É uma ferramenta embutida disponível em todos os sistemas Linux. Saiba mais detalhadamente sobre o comando PS no Linux.
Para imprimir todos os processos em execução com o PID, execute o seguinte comando PS:
$ ps -ef
Para uma navegação mais fácil, coloque a saída para o comando menos:
$ ps -ef | menos
Observe que a coluna PID lista todos os processos classificados pelo PID. É o valor que estamos procurando.
Procurando um processo específico com um nome específico? Então o comando Grep é seu amigo. Ele pode procurar um padrão específico no arquivo especificado (stdout, neste caso). Por exemplo, o comando a seguir procurará qualquer processo em execução do Firefox:
$ ps -ef | Grep Firefox
Se você souber o nome do processo de destino, podemos usar o comando pidof para obter diretamente o PID.
$ pidof Firefox
Outro comando interessante para fazer o trabalho é o PGREP. Opera diretamente na lista de processos atualmente em execução. O comando PGREP assumirá o nome do processo como o parâmetro e imprimirá o PID de qualquer entrada correspondente.
$ PGREP Firefox
Observe o PID do processo de destino. A próxima seção deste artigo exibirá encerrar o processo pelo seu PID.
Matando um processo
Matar um processo requer o envio de um sinal de terminal para o processo. No entanto, não há um único sinal de terminação. Existem vários deles, cada um agindo um pouco diferente dos outros. Então, é crucial entendê -los primeiro.
Sinais de matar Linux
O comando Kill in Linux é responsável por enviar os sinais de rescisão. Para uma explicação detalhada, confira este guia no comando linux kill. Em resumo, você diz ao comando de matar qual sinal enviar para qual processo (usando PID).
Para obter a lista completa de todos os sinais de rescisão, execute o seguinte comando:
$ kill -l
Na maioria das vezes, no entanto, precisaremos de apenas alguns deles. Aqui estão explicações detalhadas dos sinais de rescisão mais comuns que você deve conhecer.
Matando um processo usando matar
Esta é a maneira padrão de encerrar um processo de destino no Linux. O comando Kill segue a seguinte estrutura de comando:
$ Kill -
Por exemplo, para enviar o SIGTERM para um processo, o comando ficaria assim:
$ kill -15
Da mesma forma, se você deseja enviar Sigkill, use o seguinte comando:
$ kill -9
Saiba mais sobre o comando Linux Kill com explicações e exemplos detalhados.
Matando vários processos usando o killall
O comando killall age semelhante a matar. No entanto, em vez de definir um PID específico, ele usa o nome do processo e envia o sinal de terminação especificado para todos os processos que correspondem ao nome.
A estrutura de comando de Killall se parece com o seguinte:
$ killall -
Por exemplo, o seguinte comando Killall enviará o SigMert a todos os processos do Firefox em execução:
$ Killall -15 Firefox
Confira este guia sobre o comando linux killall para explicações detalhadas com exemplos. Também é recomendável conferir a página do homem de Killall:
$ man killall
Matando vários processos usando pkill
Semelhante ao comando Killall, o PKill também pode processar processos de pesquisa com base no nome e enviar o sinal de terminação especificado. A estrutura de comando também é quase semelhante;
$ pkill -
Por exemplo, use o seguinte comando pkill para encerrar o processo do Firefox com o SIGTERM:
$ pkill -15 Firefox
Como sempre, verifique a página do homem do PKILL para obter explicações detalhadas com todas as nuances:
$ man pkill
Pensamentos finais
Este guia mostra várias maneiras de matar um processo por seu PID. Também demonstra métodos alternativos usando o nome do processo em vez de PID. É sempre melhor ter várias ferramentas à sua disposição. Aqui, usamos comandos PS e PGREP para encontrar os comandos PID e Kill, Pkill e Killall para matar processos.
Em muitas situações, você pode querer se livrar de processos de fundo incômodos que estão com defeito. Saiba mais sobre como identificar processos de fundo no Linux. Em seguida, seguindo os métodos deste guia, você pode facilmente se livrar dos indesejados.
Computação feliz!