.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified 1993-03-29, David Metcalfe .\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu) .\" Modified 2003-10-25, Walter Harms .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH atexit 3 "20. července 2023" "Linux man\-pages 6.05.01" .SH JMÉNO atexit \- registruje funkci, která se má vyvolat při ukončení procesu .SH KNIHOVNA Standardní knihovna C (\fIlibc\fP, \fI\-lc\fP) .SH POUŽITÍ .nf \fB#include \fP .PP \fBint atexit(void (*\fP\fIfunction\fP\fB)(void));\fP .fi .SH POPIS Funkce \fBatexit\fP() zařadí \fIfunction\fP do seznamu funkcí, které jsou vyvolány při normálním ukončení programu, ať už funkcí \fBexit\fP(3) nebo návratem z funkce \fBmain\fP. Funkce takto registrované jsou volány v obráceném pořadí jejich registrace; nejsou jim poskytnuty žádné argumenty. .PP The same function may be registered multiple times: it is called once for each registration. .PP .\" POSIX.1-2001, POSIX.1-2008 POSIX.1 vyžaduje, aby implementace dovolovala minimálně \fBATEXIT_MAX\fP(32) registrací takovýchto funkcí. Skutečný počet možných registrací podporovaných v dané implementaci je možné zjistit pomocí \fBsysconf\fP(3). .PP Při vytvoření procesu pomocí \fBfork\fP(2), zdědí potomek registrace svých rodičů. Při úspěšném volání funkce \fBexec\fP(3), jsou všechny registrace odstraněny. .SH "NÁVRATOVÉ HODNOTY" Funkce \fBatexit\fP() vrací hodnotu 0, byla\-li úspěšná, jinak je vrácena nenulová hodnota. .SH ATRIBUTY Vysvětlení pojmů použitých v této části viz \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Rozhraní Atribut Hodnota T{ .na .nh \fBatexit\fP() T} Thread safety MT\-Safe .TE .sp 1 .SH VERZE .\" POSIX.1-2001, POSIX.1-2008 .\" This can happen on OpenBSD 4.2 for example, and is documented .\" as occurring on FreeBSD as well. .\" glibc does "the Right Thing" -- invocation of the remaining .\" exit handlers carries on as normal. POSIX.1 says that the result of calling \fBexit\fP(3) more than once (i.e., calling \fBexit\fP(3) within a function registered using \fBatexit\fP()) is undefined. On some systems (but not Linux), this can result in an infinite recursion; portable programs should not invoke \fBexit\fP(3) inside a function registered using \fBatexit\fP(). .SH STANDARDY C11, POSIX.1\-2008. .SH HISTORIE POSIX.1\-2001, C89, C99, SVr4, 4.3BSD. .SH POZNÁMKY Funkce registrované pomocí \fBatexit\fP() (a \fBon_exit\fP(3)) nejsou volány, pokud je proces abnormálně ukončen, například kvůli doručení signálu. .PP If one of the registered functions calls \fB_exit\fP(2), then any remaining functions are not invoked, and the other process termination steps performed by \fBexit\fP(3) are not performed. .PP The \fBatexit\fP() and \fBon_exit\fP(3) functions register functions on the same list: at normal process termination, the registered functions are invoked in reverse order of their registration by these two functions. .PP .\" In glibc, things seem to be handled okay According to POSIX.1, the result is undefined if \fBlongjmp\fP(3) is used to terminate execution of one of the functions registered using \fBatexit\fP(). .SS "Linuxová poznámka" Od verze glibc 2.2.3, mohou být \fBatexit\fP() (a \fBon_exit\fP(3)) použity uvnitř sdílených knihoven, aby spouštěly funkce, které jsou volány, je\-li knihovna uvolněna z paměti. .SH PŘÍKLADY .\" SRC BEGIN (atexit.c) .EX #include #include #include \& void bye(void) { printf("That was all, folks\en"); } \& int main(void) { long a; int i; \& a = sysconf(_SC_ATEXIT_MAX); printf("ATEXIT_MAX = %ld\en", a); \& i = atexit(bye); if (i != 0) { fprintf(stderr, "cannot set exit function\en"); exit(EXIT_FAILURE); } \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "DALŠÍ INFORMACE" \fB_exit\fP(2), \fBdlopen\fP(3), \fBexit\fP(3), \fBon_exit\fP(3) .PP .SH PŘEKLAD Překlad této příručky do španělštiny vytvořili Pavel Heimlich . .PP Tento překlad je bezplatná dokumentace; Přečtěte si .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST. .PP Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu .MT translation-team-cs@lists.sourceforge.net .ME .