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.