码迷,mamicode.com
首页 > 系统相关 > 详细

守护进程的创建过程

时间:2017-02-04 21:17:29      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:描述符   get   tab   pid   子进程   文件描述符   打开   int   set   

编写守护进程需要5步


1 创建子进程,父进程结束(让这个进程由init进程托管)
pid = fork();
if(pid > 0) //父进程
{
  exit(0);
}
2 在子进程中创建新会话(此进程就可以脱离原来进程,脱离控制终端,脱离原来进程组)
setsid(); //最主要是脱离控制终端

3 改变当前目录(每一个进程都有一个当前目录), 不是必须的
chdir("/tmp");

4 重新设置文件权限掩码(不是必须的)
umask(0);

5 关闭打开的文件描述符(如果父进程打开了一些文件,子进程会继承过来,那么子进程把这些文件关闭)
int num;
num = getdtablesize(); //获得当前打开的文件描述符表
for(i = 0; i < num; i++)
{
  close(i);
}

守护进程的创建过程

标签:描述符   get   tab   pid   子进程   文件描述符   打开   int   set   

原文地址:http://www.cnblogs.com/zhaihongliangblogger/p/6366284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!