引言
某些时候,我们希望程序的执行在后台执行。我们通过在一个进程中创建子进程,结束父进程而保留子进程。从而达到实现后台执行的目的。
守护进程的特点
1.类似于僵尸进程,由其他进程(父进程)创建。父进程结束后依然执行的进程。
2.与创建它的父进程完全隔离。表现为拥有独立的会话和进程组,工作目录,文件创建掩码等。
守护进程创建步骤
由于子进程会继承父进程的所有环境,所以创建守护进程以及初始化需要做以下5件事建立自己的环境
1.创建子进程, 终止父进程。
父进程的使命很快结束。
pid=fork();
if (pid > 0) exit(0);
2.子进程创建新会话
setsid();
3.改变工作目录
chdir("/")
错误会返回负数
4.重设文件创建掩码
umask(0);
5.关闭文件描述符
for(i = 0; i < NOFILE; ++i) close(i);
暂时更新到这里。