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 (відэа)