Skocz do zawartości
Zaloguj się, aby obserwować  
El Barto

Różnica pomiędzy SIGTERM a SIGINT?

Polecane posty

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

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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).

Edytowano przez Archi (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×