Я знаю что оба raise(SIGABRT)
а также abort()
методы отправят сигнал SIGABRT себе. Но есть некоторая разница между этими двумя функциями. (например, abort()
функция разблокирует сигнал SIGABRT где raise(SIGABRT)
не.)
Каковы другие различия между raise(SIGABRT)
а также abort()
методы
Основное отличие это то, что abort()
даже завершает процесс, если SIGABRT
игнорируется
Дословно от man abort
:
Если SIGABRT сигнал игнорируется или перехватывается обработчиком, который возвращает прервать () функция все равно прекратит процесс. Это делается путем восстановления расположения по умолчанию для SIGABRT а затем поднимая сигнал для
второй раз.
Других решений пока нет …