atexit —
register a function to be called on exit
Standard C Library (libc, -lc)
#include <stdlib.h>
int
  
  atexit(void
    (*function)(void));
The atexit() function registers the given
  function to be called at program exit, whether via
  exit(3) or via return from the
  program's main. Functions so registered are called in
  reverse order; no arguments are passed. At least 32 functions can always be
  registered, and more are allowed as long as sufficient memory can be
  allocated.
The atexit() function returns the value 0 if
  successful; otherwise the value -1 is returned and the global variable
  errno is set to indicate the error.
  - [ENOMEM]
- No memory was available to add the function to the list. The existing list
      of functions is unmodified.
Theatexit() function conforms to ANSI
  X3.159-1989 (“ANSI C89”).