Sobes.tech
Junior

Qual é a diferença entre os sinais SIGTERM e SIGKILL?

sobes.tech IA

Resposta da IA

SIGTERM — é um sinal para o encerramento educado do processo. Ele informa ao processo que deve terminar, permitindo realizar uma limpeza (por exemplo, salvar dados, fechar conexões). O processo pode ignorar esse sinal.

SIGKILL — é um sinal para o encerramento forçado do processo. Ele interrompe imediatamente o processo, sem dar a oportunidade de realizar qualquer limpeza. Esse sinal não pode ser capturado ou ignorado pelo processo.

Principais diferenças:

Característica SIGTERM SIGKILL
Propósito Encerramento educado Encerramento forçado
Tratamento Pode ser capturado e ignorado Não pode ser capturado ou ignorado
Limpeza de recursos O processo pode realizar limpeza O processo não realiza limpeza

Exemplo de envio de sinais:

# Enviar SIGTERM ao processo com PID 1234
kill 1234

# Enviar SIGKILL ao processo com PID 1234
kill -9 1234

Em cenários de gerenciamento de processos (por exemplo, em sistemas de inicialização, orquestradores), geralmente primeiro é enviado SIGTERM, e se o processo não terminar no tempo previsto, é enviado SIGKILL.