DAEMON(3) manual page
Table of Contents
daemon - run in the background
#include
<unistd.h>
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.
If nochdir is zero, daemon() changes the calling process’s
current working directory to the root directory ("/"); otherwise, the current
working directory is left unchanged.
If noclose is zero, daemon() redirects
standard input, standard output and standard error to /dev/null; otherwise,
no changes are made to these file descriptors.
(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 daemon() returns
zero. If an error occurs, daemon() returns -1 and sets errno to any of the
errors specified for the fork(2)
and setsid(2)
.
The daemon() function is thread-safe.
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.
fork(2)
,
setsid(2)
This page is part of release 3.78 of the Linux man-pages
project. A description of the project, information about reporting bugs,
and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.
Table of Contents