Jaka jest różnica między SIGKILL a SIGSTOP?


20

Podręcznik opisuje SIGKILLi SIGSTOPlubi to:

SIGKILL             9    Term    Kill signal
SIGTERM            15    Term    Termination signal
SIGSTOP      17,19,23    Term    Stop the process

i stwierdza:

Sygnałów SIGKILL i SIGSTOP nie można złapać, zablokować ani zignorować.

ale jaka jest różnica między 2 sygnałami?


Odpowiedzi:


16

Jak można znaleźć na Wikipedii

SIGKILL

Sygnał SIGKILL jest wysyłany do procesu, który powoduje jego natychmiastowe zakończenie. W przeciwieństwie do SIGTERM i SIGINT, tego sygnału nie można wychwycić ani zignorować, a proces odbierania nie może wykonać żadnego czyszczenia po otrzymaniu tego sygnału.

SIGSTOP

Sygnał SIGSTOP instruuje system operacyjny, aby zatrzymał proces w celu późniejszego wznowienia.


Może ci się również spodobać, że SIGINT jest sygnałem, który jest emitowany po naciśnięciu CTRL + C na terminalu. SIGSTOP NIE jest sygnałem wysyłanym po naciśnięciu CTRL + Z - ten w rzeczywistości jest SIGTSTP i w przeciwieństwie do SIGSTOP może zostać zignorowany przez proces.
shellbro

26

SIGKILL zabija proces i nie można go złapać

SIGTERM zabija proces, ale można go przyłapać na wdzięcznym wyjściu

SIGSTOP zawiesza proces, dopóki nie zrobisz SIGCONT


4

Jak sama nazwa wskazuje, SIGKILLzabij proces, zamiast tego SIGSTOPzatrzymaj proces, aż SIGCONTzostanie wywołany (aby kontynuować proces).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.