У POSIX-сістэмах, SIGABRT — сігнал, які дасылаецца працэсам самому сабе пры выконванні функцыі abort()
, для аварыйнага супыну, у выпадку немагчымасці далейшага працягу праграмы.
SIGABRT — цэлалікавая канстанта, вызначаная ў загалоўкавым файле signal.h
. Сімвальныя імёны сігналаў ужываюцца замест нумароў, бо ў розных рэалізацыях нумары сігналаў могуць адрознівацца.
У GNU/Linux, таксама ёсць сігнал SIGIOT які з’яўляецца сінонімам SIGABRT.
SIG — агульны прэфікс сігналаў, АBRT — скарочанае напісанне англ.: abort — заўчаснае спыненне, перапыненне (англійскі камп’ютарны жаргон). IOT абрэвіятура англ.: I/O transfer Trap — пастка увода-вывада (таксама IOT з’яўляецца мнемонікай інструкцыі PDP-8 абрэвіятура I/O Transfer)
Сігнал SIGABRT працэс дасылае сам сабе, калі вызывае функцыю abort()
(функцыя libc, з прататыпам у stdlib.h). Сігнал SIGABRT можа быць перахоплены ці праігнараваны, але abort()
прымусова завершыць праграму (папярэдне скінуўшы і зачыніўшы стандартныя струмені і зрабіўшы дамп памяці праграмы) нават калі гэта не зробіць апрацоўшчык сігналу. Такім чынам функцыя abort()
гарантуе завяршэнне праграмы, чаму яна часта ўжываецца бібліятэкамі ў аварыйных сітуацыях — калі выкананне не павінна быць працягнута, але асноўная праграма павінна мець магчымасць выканаць дзеянні, патрэбныя перад аварыйным завяршэннем.
Таксама SIGABRT выклікаецца сцвярджэннямі (англ.: assertions; сродак адладкі Сі — макравызначэнне assert()
выклікае abort()
калі сцвярджэнне перададзенае ў якасці аргумента ілжыва).
Сігналы POSIX |
SIGABRT | SIGALRM | SIGFPE | SIGHUP | SIGILL | SIGINT | SIGKILL | SIGPIPE | SIGQUIT | SIGSEGV | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGCONT | SIGSTOP | SIGTSTP | SIGTTIN | SIGTTOU | SIGBUS | SIGPOLL | SIGPROF | SIGSYS | SIGTRAP | SIGURG | SIGVTALRM | SIGXCPU | SIGXFSZ |
Сігналы рэальнага часу (вызначаюцца карыстальнікам) — SIGRTMIN — SIGRTMAX. |
Некоторыя сігналы не ўключаныя ў POSIX і сінонімы |
SIGIOT | SIGEMT | SIGSTKFLT | SIGIO | SIGCLD | SIGPWR (SIGINFO) | SIGLOST | SIGWINCH | SIGUNUSED |