Interested Article - SIGABRT

SIGABRT (от англ. signal и abort ) — сигнал , используемый в POSIX -системах, посылаемый процессом самому себе при выполнении функции abort() для аварийной остановки с выполнением дампа памяти в случае невозможности дальнейшего продолжения программы.

Определён как целочисленная константа в заголовочном файле signal.h . В Linux используется сигнал-синоним — SIGIOT (от англ. I/O transfer trap — ловушка ввода-вывода).

Функция abort() , посылающая этот сигнал самому процессу, определена в libc с прототипом в stdlib.h . Сигнал может быть перехвачен или проигнорирован, но abort() принудительно завершит программу (предварительно сбросив и закрыв стандартные потоки и сделав дамп памяти программы), даже если этого не сделает обработчик сигнала. Таким образом функция abort() гарантирует завершение программы, почему она часто используется библиотеками в аварийных ситуациях — когда выполнение не должно быть продолжено, но основная программа должна иметь возможность выполнить действия, необходимые перед аварийным завершением.

Также SIGABRT вызывается утверждениями (средство отладки Си — макроопределение assert() вызывает abort() , если утверждение переданное в качестве аргумента ложно).

Источник —

Same as SIGABRT