SIGKILL (SIGKILL)
SIGKILL | |
---|---|
Описание | Сигнал остановки |
По умолчанию | завершение процесса |
Коды SA_SIGINFO | |
Не имеет специфических кодов |
В POSIX-системах, SIGKILL — сигнал, посылаемый процессам для их немедленного завершения.
SIGKILL — целочисленная константа, определенная в заголовочном файле signal.h
. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
На большинстве платформ SIGKILL имеет значение 9, что породило выражение «килл-минус-девять» (англ. kill-dash-nine), озвучивание команды типа «kill -9 1234
» (сокращенный синтаксис, рекомендуемый вариант — «kill -s KILL 1234
»)
Этимология
[править | править код]SIG — общий префикс сигналов, KILL — англ. kill — убить, остановить (английский компьютерный жаргон).
Использование
[править | править код]Будучи посланным процессу, SIGKILL вызывает его немедленное завершение. В отличие от SIGTERM или SIGINT этот сигнал не может быть перехвачен или проигнорирован, а процесс, получивший его, не имеет возможности выполнить какие-либо действия перед своим завершением.
- процесс-зомби нельзя завершить SIGKILL, потому что зомби уже завершен и не может принимать сигналов. Зомби ожидает, что родительский процесс считает код завершения с помощью системного вызова
wait()
. - Процессы в состоянии блокировки (например, при ожидании ввода-вывода) не смогут завершиться SIGKILL, пока операционная система не вернет их в нормальное состояние (при наступлении ожидаемого события или ошибке).
- Процесс init является особым случаем — он не получает от операционной системы сигналов, которые он не хочет обрабатывать, и, следовательно, может игнорировать SIGKILL.
Юмор
[править | править код]- Kill Dash Nine — песня о SIGKILL (видео Архивная копия от 3 сентября 2017 на Wayback Machine)