Qual é a diferença entre SIGKILL e SIGSTOP?

19

O manual descreve SIGKILLe SIGSTOPassim:

SIGKILL             9    Term    Kill signal
SIGTERM            15    Term    Termination signal
SIGSTOP      17,19,23    Term    Stop the process

e afirma:

Os sinais SIGKILL e SIGSTOP não podem ser capturados, bloqueados ou ignorados.

mas qual é a diferença entre os 2 sinais?

qdii
fonte
Pergunta Superset no SO: stackoverflow.com/questions/4042201/...
Ciro Santilli新疆改造中心法轮功六四事件

Respostas:

15

Como é encontrado na Wikipedia

SIGKILL

O sinal SIGKILL é enviado para um processo para fazer com que ele termine imediatamente. Ao contrário do SIGTERM e SIGINT, esse sinal não pode ser capturado ou ignorado, e o processo de recebimento não pode executar nenhuma limpeza ao receber esse sinal.

SIGSTOP

O sinal SIGSTOP instrui o sistema operacional a parar um processo para reiniciar mais tarde.

Maggy May
fonte
Você também pode gostar agora que SIGINT é um sinal emitido quando você pressiona CTRL + C no terminal. SIGSTOP NÃO é um sinal que é enviado quando você pressiona CTRL + Z - este é realmente SIGTSTP e, ao contrário do SIGSTOP, pode ser ignorado por um processo.
shellbro 6/09/16
25

SIGKILL mata um processo e não pode ser pego

SIGTERM mata um processo, mas pode ser pego para fazer uma saída graciosa

SIGSTOP suspende o processo até você fazer uma SIGCONT

parkydr
fonte
4

Como o nome sugere, interrompa SIGKILLo processo em vez de SIGSTOPinterromper o processo até SIGCONTser chamado (para continuar o processo).

antoox
fonte