Uczę się CentOS / RHEL i obecnie zajmuję się zarządzaniem procesami.
Książka RHCSA, którą czytam, opisuje bieganie kill 1234
jako wysyłanie SIGQUIT. Zawsze myślałem, że polecenie zabicia bez dodawania przełącznika typu sygnału powinno być ustawione domyślnie nakill -15
SIGTERM jest, kill -15
a SIGKILL jest kill -9
, prawda?
Czy CentOS / RHEL używa nieco innej metody, kill -15
czy właśnie się pomyliłem?
EDYCJA: kill -l
daje SIGQUIT as kill -3
i wydaje się, że jest to związane z używaniem klawiatury do zakończenia procesu. man 7 signal
stwierdza również, że SIGQUIT jest kill -3
, więc mogę jedynie założyć, że moja książka nie ma racji, twierdząc, że SIGQUIT jest kill -15
domyślny.
źródło
Istnieją dwa polecenia zabicia, jedno w procps i jedno w powłoce. Oba używają SIGTERM jako domyślnego. W przypadku procps kill, pomoc polecenia, strona podręcznika i źródło kill (skill.c linia 724 w najnowszej gałęzi master) mówią SIGTERM, co dobrze wiedzieć, że jest spójne.
Jedną rzeczą, o której należy pamiętać, jest to, że kiedy zaczniesz mijać „zwykłą grupę” i użyjesz systemów nieco bardziej różniących się od systemu Linux x86, może się okazać, że sygnałów nie ma lub mają one różne liczby. procps (i prawdopodobnie wiele innych programów) wstawia liczby w czasie kompilacji (zasadniczo cokolwiek zawiera plik dołączania, poszukaj signum.h).
Nie ma się czym martwić dla SIGTERM, jak mówi @ilkkachu, jest w POSIX.
źródło