Почему номер 9 в команде kill -9 в unix? - PullRequest
90 голосов
/ 31 марта 2012

Я понимаю, что это не по теме, я нигде не мог найти в Интернете, и я думал, может быть, гуру программирования в сообществе могли бы знать это.
Я обычно использую

kill -9 pid

чтобы убить работу. Я всегда задавался вопросом о происхождении 9. Я посмотрел его онлайн, и там написано

"9 означает сигнал KILL, который не может быть перехвачен или игнорируется. Другими словами, он будет сигнализировать процессу (некоторое запущенное приложение) о немедленном выходе" (источник: http://wiki.answers.com/Q/What_does_kill_-9_do_in_unix_in_its_entirety)

Но почему 9? а как насчет других номеров? есть ли какое-то историческое значение или из-за архитектуры Unix?

Ответы [ 13 ]

0 голосов
/ 28 мая 2017

есть некоторый процесс, который не может быть уничтожен как этот "kill% 1". если нам нужно завершить этот процесс, то для уничтожения этого процесса используется специальная команда kill -9. например откройте vim и остановитесь, если с помощью ctrl + z просмотрите задания и после применения процесса kill, этот процесс не будет завершен, поэтому здесь мы используем команду kill -9 для завершения.

0 голосов
/ 26 марта 2017

Введите команду kill -l в своей оболочке

. Вы обнаружите, что под 9-м номером [ 9) SIGKILL ], поэтому можно использовать либо kill -9, либо kill -SIGKILL

SIGKILL уверен, что сигнал убить, его нельзя перемещать, игнорировать или обрабатывать.Он всегда работает со своим поведением по умолчанию, которое убивает процесс.

0 голосов
/ 19 ноября 2014

И то же, что и kill -sigkill processID, kill -9 processID.Это в основном для принудительного завершения процесса.

...