NAME
daemon - run in the background
SYNOPSIS
#include <unistd.h>
int daemon(int nochdir, int noclose);
DESCRIPTION
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()
succeeds, the parent does
_exit(0),
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 library functions
fork(2)
and
setsid(2).
SEE ALSO
fork(2),
setsid(2)
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.
HISTORY
The
daemon()
function first appeared in BSD4.4.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- SEE ALSO
-
- NOTES
-
- HISTORY
-