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.