register a function to be called at normal process
on_exit(void (*function)(int , void *), void
Macro Requirements for glibc (see
_BSD_SOURCE || _SVID_SOURCE
on_exit() function registers the given
function to be called at normal process termination,
whether via exit(3) or via return from the
program’s main(). The function is passed
the status argument given to the last call to exit(3)
and the arg argument from on_exit().
function may be registered multiple times: it is called once
for each registration.
When a child
process is created via fork(2), it inherits copies of
its parent’s registrations. Upon a successful call to
one of the exec(3) functions, all registrations are
on_exit() function returns the value 0 if successful;
otherwise it returns a nonzero value.
explanation of the terms used in this section, see
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
This page is
part of release 4.04 of the Linux man-pages project.
A description of the project, information about reporting
bugs, and the latest version of this page, can be found at