Odpowiedzi:
-9
jest numerem sygnału (w tym przypadku SIGKILL
), więc kill -9
przesyła znak SIGKILL
do danego procesu.
Ten sygnał powoduje natychmiastowe zakończenie procesu (chyba że czeka on w funkcji jądra). Sygnału nie można ani zignorować, ani proces odbiorczy nie może wykonać żadnej operacji czyszczenia po odebraniu sygnału (tzn. SIGKILL
Nie jest wywoływana procedura obsługi sygnału ). Zobacz także artykuł w Wikipedii na temat SIGKILL .
Ze strony man mojego kill
polecenia (Linux):
The default signal for kill is TERM. Use -l or -L to list available
signals. Particularly useful signals include HUP, INT, KILL, STOP,
CONT, and 0. Alternate signals may be specified in three ways: -9
-SIGKILL -KILL.
EDYCJA :
kill -l
( bash
wbudowane polecenie) wyświetla następujące nazwy sygnałów i wartości liczbowe w moim systemie:
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
kill -l
zawiera również wartości liczbowe. Jaki jest twój system operacyjny?
man kill
listę wartości liczbowych dla niektórych sygnałów.
kill
jest w procps
, która jest wersją 1:3.2.8-9
w squeeze Debiana. I tak, Ubuntu to w zasadzie Debian. Zastanawiam się więc, dlaczego kill -l
nie zwraca tego samego.
zsh
wbudowaną kill
komendę, a nie /bin/kill
(która faktycznie wyświetla wartości liczbowe, jak mówisz)
kill
wbudowanego. Pozwala to kill
komendzie zaakceptować numery zadań lub nazwy (np kill %1
.). Pozwala to kill
na użycie nawet po osiągnięciu pewnego limitu liczby procesów.
man signal
Pokaże mapowanie między numerami sygnałów i nazwami sygnałów.
-9
jest przykładem-sigspec
, jest równoważne z-s 9
lub-n 9
lub-s KILL
lub-KILL
.