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.
RETURN VALUE
(This function forks, and if the
fork(2)
succeeds, the parent calls
_exit(2),
so that further errors are seen by the child only.)
On success zero will be returned.
If an error occurs,
daemon()
returns -1 and sets the global variable
errno
to any of the errors specified for the
fork(2)
and
setsid(2).
CONFORMING TO
Not in POSIX.1-2001.
A similar function appears on the BSDs.
The
daemon()
function first appeared in 4.4BSD.
NOTES
The glibc implementation can also return -1 when
/dev/null
exists but is not a character device with the expected
major and minor numbers.
In this case
errno
need not be set.
This page is part of release 3.14 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.