daemon

NAME

daemon - run in the background

SYNOPSIS

#include <unistd.h> I int daemon(int nochdir , int noclose );

DESCRIPTION

The R 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, R daemon () changes the current working directory to the root ("/").
Unless the argument noclose is non-zero, R 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 R _exit (2), so that further errors are seen by the child only.) On success zero will be returned. If an error occurs, R 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 R 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.

SEE ALSO

fork(2), setsid(2)