首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

daemon 不太明白解决办法

2012-02-03 
daemon 不太明白#includestdio.h#includesys/types.h#includetime.hintdaemon_init(){pid_tpidif((

daemon 不太明白
#include   <stdio.h>
#include   <sys/types.h>
#include   <time.h>

int   daemon_init()   {
        pid_t   pid;
        if   ((pid   =   fork())   <   0)   return   -1;
        else   if   (pid     !=   0)   exit(0);
        close(0);close(1);close(2);
        setsid();
        //chdir( "/ ");
        umask(0);
        return   0;
}

int   main()   {
        time_t   t;
        FILE   *fp;
        daemon_init();
        while   (1)   {
                fp   =   fopen( "test.log ", "a ");
                t   =   time(0);
                fprintf(fp, "%s\n ",asctime(gmtime(&t)));
                fclose(fp);
                sleep(2);
        }
}

我如果不加daemon_init();程序也照样能运行
daeman进程和普通的进程相比有什么优势吗?

[解决办法]
daemon进程跟守护进程是有区别的,类似于后台进程( ./XXX &)
生成daemon进程需要脱离当前的会话组
不加daemon_init, 就是当前shell下的一个子进程...

热点排行