Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Systemy operacyjne
Systemy operacyjnemedium

Czym są sygnały i jak procesy je obsługują?

Tagi
#signals#process#lifecycle
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Sygnały to asynchroniczne powiadomienia dla procesu (np. SIGTERM, SIGINT). Proces może je obsłużyć handlerem, zignorować lub użyć domyślnej akcji, np. zakończenia.

Odpowiedź zaawansowana

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?

Powiązane pytania

Spring
Lifecycle beanów: co robią `@PostConstruct` i `@PreDestroy`?
#spring#lifecycle#postconstruct
Architektura
Co to jest ADR (Architecture Decision Record) i czemu jest przydatne?
#architecture#documentation#decisions
Spring
Cykl życia beana: kiedy wykonują się `@PostConstruct` i `@PreDestroy`?
#spring#beans
#lifecycle
Spring
Jakie są zakresy (scopes) Beanów?
#bean#scope#lifecycle