//服务器程序后台化
int daemonize()
{
        //创建父进程,创建子进程,使程序在后台运行
        pid_t pid=fork();
        if(pid<0)
                return -1;
        else if(pid >0)
                exit;

        //设置文件权限掩码
        umask(0);
        //创建新的会话,从而使程序脱离终端
        pid_t sid=setsid();
        if(sid<0)
                return -1;
        //切换工作目录
        if(chdir("/")<0)
                return -1;
        //关闭标准输入,输出,错误
        close(STDIN_FILENO);
        close(STDOUT_FILENO);
        close(STDERR_FILENO);
        //重定向标准输入,输出,错误
        open("/dev/null",O_RDONLY);
        open("/dev/null",O_RDWR);
        open("/dev/null",O_RDWR);
        return 0;
}