论坛: UNIX系统 标题: 什么叫做Linux的daemon进程啊? 复制本贴地址    
作者: tarsen [tarsen]    论坛用户   登录
rt!

地主 发表时间: 04-05-05 19:53

回复: cimsxiyang [cimsxiyang]   版主   登录
daemon进程就是守护进程
它与一般进程的差别就是它的ttl很长。
它一直驻留在系统中,接受用户的请求或者做某项工作。
下面是个例子,它是一个daemon,从该程序启动开始,一直会驻留在系统中
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main(void)
{
pid_t pid;
while(1)
{
  if ((pid=fork())<0)
        break;
setsid();
chdir("/");
umask(0);
  printf("this is a daemon,and my pid is:%d \r\n",getpid());
  sleep(5);
}
}
这个程序读读就可以了,运行就不必了
:)~~~~~~~~


B1层 发表时间: 04-05-10 01:49

回复: NetDemon [netdemon]   ADMIN   登录
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。

有如下7个必要特征
1. 在后台运行。
2. 脱离控制终端,登录会话和进程组
3. 禁止进程重新打开控制终端
4. 关闭打开的文件描述符
5. 改变当前工作目录
6. 重设文件创建掩模
7. 处理SIGCHLD信号

多数UNIX系统具有系统函数 daemon() 用来简单的来完成这些操作,我通常都用它


B2层 发表时间: 04-05-11 14:47

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号