4 int daemon(int nochdir, int noclose)
14 if (setsid() < 0) return -1;
22 if (!nochdir && chdir("/"))
26 if ((fd = open("/dev/null", O_RDWR)) < 0) return -1;
27 if (dup2(fd, 0) < 0 || dup2(fd, 1) < 0 || dup2(fd, 2) < 0)
29 if (fd > 2) close(fd);
30 if (failed) return -1;