Skocz do zawartości

El Barto

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Posty napisane przez El Barto


  1. SIGINT to interrupt, SIGTERM to termination. Żaden z nich nie gwarantuje, że w ogóle aplikacja się zakończy, bo to w gestii procesu leży obsługa tych sygnałów i reakcja na nie - sygnał, który kończy proces to SIGKILL, SIGTERM jedynie prosi proces o zakończenie się (i bezpieczne zamknięcie właśnie).

     

    Różnicy między tymi dwoma dużej nie ma, ale SIGINT to sygnał, który jest wysyłany w momencie CTRL+C na aplikacji w foregroundzie właśnie, a SIGTERM jest niejako "zewnętrzny". Wszystkie aplikacje powinny obsługiwać te sygnały w taki sam sposób, bo obydwa proszą aplikację o zamknięcie, ale przyjęło się, że wysyła się SIGTERM'a, a SIGINT jest właśnie na potrzeby CTRL+C (dlatego, że ten sygnał może być wysłany ze standardowego wejścia właśnie).

     

    Coś podobnego podpowiadała mi intuicja, wielkie dzięki za wyjaśnienie tego zagadnienia.


  2. Witam, od niedawna zastanawiam się nad różnicą pomiędzy użyciem sygnałów SIGINT a SIGTERM. Wiem że pierwszy z nich jest często używany w sytuacji kiedy proces uruchomiony jest na pierwszym planie (fg). Wyczytałem również w sieci, że oba sygnały mogą być zignorowane przez program w pewnych sytuacjach. Niestety nie mogłem nigdzie odszukać informacji na temat tego czy SIGINT wykonuje tzw. bezpiecznie zamknięcie procesu (jak w przypadku SIGTERM)?

     

    Z góry dziękuję za wszystkie odpowiedzi. Pozdrawiam

     

     

×