Section: Linux Programmer's Manual (3)
on_exit - register a function to be called at normal process termination
int on_exit(void (*function)(int , void *), void *arg);
Feature Test Macro Requirements for glibc (see
Since glibc 2.19:
Glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE
function registers the given
called at normal process termination, whether via
or via return from the program's
is passed the status argument given to the last call to
The same function may be registered multiple times:
it is called once for each registration.
When a child process is created via
it inherits copies of its parent's registrations.
Upon a successful call to one of the
functions, all registrations are removed.
function returns the value 0 if successful; otherwise
it returns a nonzero value.
For an explanation of the terms used in this section, see
This function comes from SunOS 4, but is also present in glibc.
It no longer occurs in Solaris (SunOS 5).
Portable application should avoid this function, and use the standard
By the time
is executed, stack
variables may already have gone out of scope.
should not be a pointer to a stack variable;
it may however be a pointer to a heap variable or a global variable.
This page is part of release 5.04 of the Linux
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at