Najpierw musisz wiedzieć, czym są sygnały w systemach uniksopodobnych (zajmie to tylko kilka minut).
Sygnały to przerwania programowe wysyłane do (uruchomionego) programu w celu wskazania, że wystąpiło ważne zdarzenie.
Zdarzenia mogą się różnić, od żądań użytkowników po nielegalne błędy dostępu do pamięci. Niektóre sygnały, takie jak sygnał przerwania, wskazują, że użytkownik poprosił program o zrobienie czegoś, co nie znajduje się w zwykłym przepływie sterowania.
Istnieje kilka typów Sygnałów, których możemy użyć - aby uzyskać pełną listę wszystkich dostępnych / możliwych Sygnałów, użyj polecenia " $ kill -l ":
Na powyższym wyjściu widać wyraźnie, że każdy Sygnał ma powiązany z nim „ numer sygnału ” (np. 1, 2, 3) i „ nazwę sygnału ” (np. SIGUP, SIGINT, SIGQUIT). Aby uzyskać szczegółowe informacje o tym, co robi każdy Signal, odwiedź ten link .
Na koniec, przechodząc do pytania „Dlaczego numer 9 w poleceniu kill -9 ”:
Istnieje kilka metod dostarczania sygnałów do programu lub skryptu. Jedną z powszechnie stosowanych metod wysyłania sygnału jest użycie polecenia kill - podstawowa składnia to:
$ kill -signal pid
Gdzie sygnał to numer lub nazwa sygnału, po którym następuje identyfikator procesu (pid), do którego sygnał zostanie wysłany.
Na przykład - -SIGKILL (lub -9 ), sygnał natychmiast zabija proces.
$ kill -SIGKILL 1001
i
$ kill -9 1001
obie komendy są tym samym, tzn. powyżej użyliśmy „nazwy sygnału”, a później „numeru sygnału”.
Werdykt : jeden ma otwarty wybór, czy użyć „nazwy sygnału” czy „numeru sygnału” z poleceniem zabicia .