- 创建守护进程(Daemon)
- 守护进程的定义(Ss)
周期性的执行某项任务或等待某个事件发生的进程。
- 守护进程的特点
- 守护进程是Linux系统的后台服务进程。
- 守护进程的运行不依赖任何shell终端。
- 守护进程的生存周期较长,从开机开始运行,直到关机终止。
- 守护进程周期性地执行某项任务或等待处理某个特定事件。
- 会话的定义
Linux系统是以会话、进程组的方式管理进程,每个进程属于一个进程组,该进程的子进程也属于该进程组。
- 会话期的定义
一个或多个进程组的集合
- 进程组的定义
一个或多个进程的集合
- 守护进程的创建步骤
①创建一个子进程,让父进程退出
pid_t pid=fork();
if(pid>0)
{
exit(0);
}
②在子进程中创建新的会话期
if(setsid()<0)
{
perror(“setsid_error\n”);
return -1;
}
③改变子进程的工作目录(防止被他人删除)
方法一:更改到根目录下(只有root用户能够运行)
chdir("/");
方法二:更改到tmp目录下(所有用户都能执行,只有root用户能够删除)
chdir("/tmp");
④取消文件权限掩码
umask(0);
⑤关闭所有文件描述符
for(int i=0;i<getdtablesize();i++)
{
close(i);
}
⑥周期性长期干一件事(死循环)
例如:
while(1)
{
system("echo `date` >> 1.txt");
sleep(5);
}