首页 > 其他 > 详细

Daemon 进程

时间:2014-03-15 16:16:15      阅读:455      评论:0      收藏:0      [点我收藏+]

最近工作需要写一个Daemon 进程,特总结相关技术。

Deamon进程特点: (来自AUPE)

      

    1〉 与tty(用户终端)分离。

    2〉 关闭不需要的文件句柄。(STDIN/STDOUT/STDERR)

    

这些特点的主要目的是为了稳定和安全。通常用户终端会因用户操作产生大量的Signal,这些信号的默认行为有可能会导致Daemon 进程异常退出。


下面一步步解释Daemon的创建。

int daemonize()  //daemon init
{

// di
  pid = fork(); 

if (pid < 0) {
/* fork() Fail */
error_syslog("Fork nd proxy Failed");
exit(EXIT_FAILURE);
}
if (pid > 0) {
/* fork() Success */
exit(EXIT_SUCCESS);
debug_syslog("fork success");
}


if ((sid = setsid()) < 0) {
error_syslog("setsid Failed!");
exit(EXIT_FAILURE);
}


/* 改变根目录 (为了系统安全) */
if(chdir("/") < 0) {
error_syslog("chdir Failed");
exit(EXIT_FAILURE);
}


/* change default file permission */
umask(0);


/* close file handle */
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);

    return EXIT_SUCCESS;
}


Daemon 进程,布布扣,bubuko.com

Daemon 进程

原文:http://blog.csdn.net/levinjoe/article/details/9092241

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!