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 Архівавана 1 студзеня 2007. — песня аб SIGKILL (відэа)