Sobes.tech
Junior

Jaký je rozdíl mezi signály SIGTERM a SIGKILL?

sobes.tech AI

Odpověď od AI

SIGTERM — je signál pro zdvořilé ukončení procesu. Informuje proces, že by se měl ukončit, což mu umožňuje provést čištění (například uložit data, zavřít připojení). Proces může tento signál ignorovat.

SIGKILL — je signál pro vynucené ukončení procesu. Okamžitě zastaví proces, aniž by mu umožnil provést jakékoli čištění. Tento signál nemůže být zachycen nebo ignorován procesem.

Hlavní rozdíly:

Vlastnost SIGTERM SIGKILL
Účel Zdvořilé ukončení Vynucené ukončení
Zpracování Může být zachycen a ignorován Nemůže být zachycen nebo ignorován
Čištění zdrojů Proces může provést čištění Proces neprovádí čištění

Příklad odeslání signálů:

# Odeslat SIGTERM procesu s PID 1234
kill 1234

# Odeslat SIGKILL procesu s PID 1234
kill -9 1234

V scénářích správy procesů (například v init systémech, orchestrátorech) se obvykle nejprve odešle SIGTERM, a pokud proces neukončí do stanovené doby, odešle se SIGKILL.