#include <unistd.h> int daemon(int nochdir, int noclose);
The daemon() function is for programs wishing to detach themselves from the controlling terminal and run in the background as system daemons. Unless the argument nochdir is non-zero, daemon() changes the current working directory to the root (`/'). Unless the argument noclose is non-zero, daemon() will redirect standard input, standard output and standard error to /dev/null.
On error, -1 is returned, and errno is set to any of the errors specified for the library functions fork(2) and setsid(2).