| on_exit(3) | Library Functions Manual | on_exit(3) |
on_exit - регистрирует функцию для вызова в случае нормального завершения процесса
Стандартная библиотека языка C (libc, -lc)
#include <stdlib.h>
int on_exit(void (*function)(int, void *), void *arg);
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.
К моменту выполнения function стек переменных (auto) уже может пропасть из области видимости. Поэтому arg не должен быть указателем на переменную в стеке; однако он может быть указателем на переменную в куче или глобальную переменную.
Русский перевод этой страницы руководства разработал(и) 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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 2 мая 2024 г. | Справочные страницы Linux 6.9.1 |