daemon

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
DAEMON(3)		  Linux Programmer’s Manual		    DAEMON(3)



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 dae-
       mons.

       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	stan-
       dard 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 suc-
       cess  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.



BSD MANPAGE			  1993-06-09			    DAEMON(3)