daemon函数的作用就是让程序从控制终端分离开,以后台进程方式运行,服务器程序都是这么运行的。
查看一下man手册
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 daemons.
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 standard 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 success zero will be returned. If an
error occurs, daemon() returns -1 and sets the global variable er