#include <unistd.h>
int daemon(int nochdir, int noclose);
daemon()
函数适用于希望从控制终端脱离并作为系统守护进程在后台运行的程序。
如果nochdir
为零,daemon()
将进程的当前工作目录更改为根目录(“/”); 否则,当前工作目录保持不变。
如果noclose
为零,daemon()
将标准输入,标准输出和标准错误重定向到/dev/null
; 否则,不会对这些文件描述符进行更改。(参数为0时有效)
返回值:
deamon()
调用了fork()
,如果fork成功,那么父进程就调用_exit()
退出,因此只能通过子进程看到进一步的错误。如果成功函数返回0,否则返回-1并设置errno。