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
killall
Sinal | Valor | Descrição |
---|---|---|
SIGHUP | 1 | Usado quando há alteração no arquivo de configuração. Permite que o processo aplique novas configurações |
SIGKILL | 9 | Encerra forçosamente o processo. Deve ser usado apenas como último recurso, pois pode resultar na perda de dados não salvos |
SIGTERM | 15 | Solicita o encerramento do processo. Este sinal pode ser ignorado pelo processo |
SIGUSR1 | 30 | Envia um sinal definido pelo usuário |
Comando kill
O comando kill
kill [-s sigspec | -n signum] pid
A opção -s
-n
kill
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
: ignora maiúsculas e minúsculas no nome do processo-I
: permite especificar uma expressão regular que os processos devem corresponder-r
: especifica o usuário cujos processos serão encerrados-u
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
: ignora maiúsculas e minúsculas ao corresponder ao padrão-i, --ignore-case
: seleciona os processos mais recentes-n, --newest
: seleciona os processos mais antigos-o, --oldest
: seleciona processos em execução há pelo menos um número especificado de segundos-O, --older <seconds>
: seleciona apenas os processos filhos de um processo pai especificado-P, --parent <PPID,...>
: seleciona processos de um usuário especificado-u, --euid <ID,...>
: requer correspondência exata do nome do comando-x, --exact
Por exemplo, para encerrar todos os processos do navegador Chrome:
pkill chrome