守护进程的创建过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守护进程的创建过程相关的知识,希望对你有一定的参考价值。
编写守护进程需要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);
}
以上是关于守护进程的创建过程的主要内容,如果未能解决你的问题,请参考以下文章
如何在Linux下用c语言创建守护进程并监控系统运行期间的所有进程