Scroll to navigation

abort(3) Library Functions Manual abort(3)

ИМЯ

abort - аварийно завершает процесс

LIBRARY

Standard C library (libc, -lc)

СИНТАКСИС

#include <stdlib.h>
[[noreturn]] void abort(void);

ОПИСАНИЕ

The abort() function first unblocks the SIGABRT signal, and then raises that signal for the calling process (as though raise(3) was called). This results in the abnormal termination of the process unless the SIGABRT signal is caught and the signal handler does not return (see longjmp(3)).

Если сигнал SIGABRT игнорируется или обрабатывается обработчиком, который возвращает управление, то функция abort() всё равно завершит процесс. Она восстанавливает обработчик SIGABRT по умолчанию, а затем генерирует сигнал повторно.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функция abort() никогда не возвращает управление.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
abort() Безвредность в нитях MT-Safe

СТАНДАРТЫ

SVr4, POSIX.1-2001, POSIX.1-2008, 4.3BSD, C89, C99.

ЗАМЕЧАНИЯ

Вплоть до glibc 2.26, если функция abort() вызывала завершение процесса, то все открытые потоки закрывались и сбрасывались на диск (как при fclose(3)). Однако, в некоторых случаях это могло приводить к взаимным блокировкам и повреждению данных. Поэтому, начиная с glibc 2.27, abort() завершает процесс не сбрасывая потоки на диск. В POSIX.1 разрешено и такое поведение, там указано, что abort() «может выполнить попытку отработать как fclose() на все открытые потоки».

СМ. ТАКЖЕ

gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Dmitry Bolkhovskikh <d20052005@yandex.ru> и Yuri Kozlov <yuray@komyakino.ru>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

15 декабря 2022 г. Linux man-pages 6.02