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.