守护进程的建立过程

编写守护进程须要5步继承


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

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

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

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

相关文章
相关标签/搜索