5 int daemon(int nochdir
, int noclose
)
7 if (!nochdir
&& chdir("/"))
11 if ((fd
= open("/dev/null", O_RDWR
)) < 0) return -1;
12 if (dup2(fd
, 0) < 0 || dup2(fd
, 1) < 0 || dup2(fd
, 2) < 0)
14 if (fd
> 2) close(fd
);
15 if (failed
) return -1;
24 if (setsid() < 0) return -1;