Ответы:
-9
это номер сигнала (в данном случае SIGKILL
), поэтому kill -9
отправляет SIGKILL
в рассматриваемый процесс.
Этот сигнал вызывает немедленное завершение процесса (если он не ожидает в функции ядра). Сигнал не может быть ни проигнорирован, ни процесс приема не может выполнить какое-либо действие по очистке после получения сигнала (то есть обработчик сигнала для SIGKILL
не вызывается). Смотрите также статью в Википедии о SIGKILL .
Со страницы руководства моей kill
команды (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.
РЕДАКТИРОВАТЬ :
kill -l
( bash
встроенная команда) перечисляет следующие имена сигналов и числовые значения в моей системе:
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
перечислены числовые значения. Какая у тебя ОС?
man kill
списке числовые значения для некоторых сигналов.
kill
это в procps
версии, которая 1:3.2.8-9
в Debian сжать. И да, Ubuntu - это в основном Debian. Поэтому мне интересно, почему kill -l
не возвращается то же самое.
zsh
встроенную kill
команду, а не /bin/kill
(которая фактически перечисляет числовые значения, как вы говорите)
kill
встроенном. Это позволяет kill
команде принимать рабочие номера или имена (например kill %1
). И это позволяет kill
использовать, даже если был достигнут некоторый предел количества процессов.
man signal
Покажет вам соответствие между номерами сигналов и именами сигналов.
-9
является экземпляром-sigspec
, это эквивалентно-s 9
или-n 9
или-s KILL
или или-KILL
.