Provided by: manpages-dev_3.21-1_all
daemon - run in the background
int daemon(int nochdir, int noclose);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
daemon(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
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.
(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 errno to any of the errors specified for the fork(2) and
Not in POSIX.1-2001. A similar function appears on the BSDs. The
daemon() function first appeared in 4.4BSD.
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.21 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/.