Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       on_exit - регистрирует функцию для вызова в случае нормального завершения процесса

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <stdlib.h>

       int on_exit(void (*function)(int, void *), void *arg);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       on_exit():
           начиная с glibc 2.19:
               _DEFAULT_SOURCE
           в glibc 2.19 и старее:
               _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

       Функция  on_exit()  регистрирует указанную function для вызова в случае нормального завершения процесса с
       помощью exit(3) или при выходе  из  функции  main().  Функции  function  передаётся  аргумент  состояния,
       указанный в последнем вызове exit(3), а также аргумент arg из on_exit().

       Одна функция может быть зарегистрирована несколько раз: она вызывается один раз для каждой регистрации.

       Когда  дочерний  процесс  создаётся  через fork(2), он наследует копии регистраций родителя. При успешном
       выполнении одной из функций exec(3) все регистрации снимаются.

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

       Функция on_exit() при успешном выполнении возвращает 0, в противном случае — ненулевое значение.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ on_exit()                                                           │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       Отсутствуют.

ИСТОРИЯ

       SunOS 4, glibc.  Removed in Solaris (SunOS 5).  Use the standard atexit(3)  instead.

CAVEATS

       К моменту выполнения function стек переменных (auto) уже может пропасть из области видимости. Поэтому arg
       не должен быть указателем на переменную в стеке; однако он может быть указателем на переменную в куче или
       глобальную переменную.

СМОТРИТЕ ТАКЖЕ

       _exit(2), atexit(3), exit(3)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Konstantin    Shvaykovskiy   <kot.shv@gmail.com>,   Yuri   Kozlov   <yuray@komyakino.ru>,   Иван   Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                       on_exit(3)