Głębiej
Sygnały służą do kontroli i zdarzeń cyklu życia:
- SIGTERM prosi o graceful shutdown; SIGKILL wymusza zakończenie.
- Handlery muszą być szybkie i async-signal-safe.
- Użyj flagi/pipe, by bezpiecznie powiadomić główną pętlę.
- Procesy potomne zgłaszają SIGCHLD.
Przykłady
Wzorzec graceful shutdown:
SIGTERM -> ustaw flagę -> przestań przyjmować ruch -> flush -> exit
Typowe pułapki
- Wykonywanie niebezpiecznych operacji w handlerze.
- Ignorowanie SIGTERM i wymuszanie SIGKILL.
- Brak obsługi SIGCHLD (zombie).
Pytania uzupełniające na rozmowie
- Różnica między SIGTERM a SIGKILL?
- Jak unikasz zombie procesów?
- Jak sygnały działają z wątkami?