Encerrando Processos - Linux

Encerrar processos é uma das tarefas mais comuns ao trabalhar com processos em Linux. O sistema oferece várias comandos para essa finalidade: kill, pkill e killall. Ao utilizar esses comandos, é possível enviar um sinal específico ao processo, que age como uma instrução para ele. Existem 32 sinais disponíveis, mas apenas quatro são comuns:

SinalValorDescrição
SIGHUP1 Usado quando há alteração no arquivo de configuração. Permite que o processo aplique novas configurações
SIGKILL9 Encerra forçosamente o processo. Deve ser usado apenas como último recurso, pois pode resultar na perda de dados não salvos
SIGTERM15 Solicita o encerramento do processo. Este sinal pode ser ignorado pelo processo
SIGUSR130Envia um sinal definido pelo usuário

Comando kill

O comando kill é o método mais comum para enviar sinais a processos. É fácil de usar e aceita dois argumentos: o nome ou número do sinal e o PID do processo a ser encerrado:

kill [-s sigspec | -n signum] pid

A opção -s especifica o nome do sinal, enquanto -n indica o número do sinal. Se nenhum sinal for especificado, kill envia o sinal 15 por padrão, solicitando o encerramento do processo.

Para encerrar um processo, primeiro precisamos identificar seu PID. Por exemplo, se quisermos encerrar o navegador Chrome, primeiro obteríamos seu PID com:

programicio@Programicio:~$ pgrep -l chrome

Suponha que o PID do Chrome seja 10848. Para encerrar este processo, usamos:

programicio@Programicio:~$ kill 10848

Também é possível encerrar vários processos simultaneamente, especificando seus PIDs separados por espaços:

kill 10848 3822

Comando killall

O comando killall permite especificar os processos a serem encerrados com mais precisão. Entre suas opções, destacam-se:

  • -I: ignora maiúsculas e minúsculas no nome do processo

  • -r: permite especificar uma expressão regular que os processos devem corresponder

  • -u: especifica o usuário cujos processos serão encerrados

Por exemplo, para encerrar todas as instâncias do navegador Google Chrome:

killall -r chrome

Aqui, "chrome" é tratado como uma expressão regular. Para encerrar processos cujos nomes contêm "chrome_":

programicio@Programicio:~$ pgrep -l chrome
programicio@Programicio:~$ killall -r chrome_

Comando pkill

O comando pkill encerra processos baseando-se em seus nomes ou atributos. Aqui estão algumas das opções que ele aceita:

  • -i, --ignore-case: ignora maiúsculas e minúsculas ao corresponder ao padrão

  • -n, --newest: seleciona os processos mais recentes

  • -o, --oldest: seleciona os processos mais antigos

  • -O, --older <seconds>: seleciona processos em execução há pelo menos um número especificado de segundos

  • -P, --parent <PPID,...>: seleciona apenas os processos filhos de um processo pai especificado

  • -u, --euid <ID,...>: seleciona processos de um usuário especificado

  • -x, --exact: requer correspondência exata do nome do comando

Por exemplo, para encerrar todos os processos do navegador Chrome:

pkill chrome
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com