¿Cuál es la diferencia entre SIGKILL y SIGSTOP?

18

El manual describe SIGKILLy SIGSTOPasí:

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

y estados:

Las señales SIGKILL y SIGSTOP no pueden capturarse, bloquearse o ignorarse.

¿Pero cuál es la diferencia entre las 2 señales?

qdii
fuente
Pregunta de superconjunto en SO: stackoverflow.com/questions/4042201/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

15

Como se encuentra en Wikipedia

SIGKILL

La señal SIGKILL se envía a un proceso para que termine de inmediato. A diferencia de SIGTERM y SIGINT, esta señal no puede capturarse ni ignorarse, y el proceso de recepción no puede realizar ninguna limpieza al recibir esta señal.

SIGSTOP

La señal SIGSTOP indica al sistema operativo que detenga un proceso para su posterior reanudación.

Maggy May
fuente
También le gustaría saber ahora que SIGINT es una señal que se emite cuando presiona CTRL + C en el terminal. SIGSTOP NO es una señal que se envía cuando presiona CTRL + Z; esta es en realidad SIGTSTP y, al contrario de SIGSTOP, puede ser ignorada por un proceso.
shellbro
25

SIGKILL mata un proceso y no puede ser atrapado

SIGTERM mata un proceso pero puede ser atrapado para hacer una salida elegante

SIGSTOP suspende el proceso hasta que hagas un SIGCONT

parkydr
fuente
4

Como su nombre lo indica, SIGKILLelimine el proceso en lugar de lo SIGSTOPque detiene el proceso hasta que SIGCONTse lo llame (para continuar el proceso).

antoox
fuente