33.守护进程

1.守护进程的特点
  后台服务进程
  独立于控制终端
  周期性执行某任务
  不受用户登录注销影响

  一般采用以d结尾的名字(服务)

2.进程组
(1) 进程组的组长?
  组里面的第一个进程
  进程组的ID==进程组的组长的ID
(2) 进程组组长的选定法则
  进程中的第一个进程
(3) 进程组ID的选定

  进程组的ID就是组长的进程ID

3.会话-多个进程组
(1) 创建一个会话注意事项:
  不能是进程组长
(2) 创建会话的进程成为新的进程组的组长(既是组长又是会长)
  有些linux版本需要root权限执行此操作(ubuntu不需要)
  创建出的新会话会丢弃原有的控制终端

  一般步骤:先fork,父亲死,儿子执行创建会话操作(setsid)

4.创建守护进程模型
(1) fork子进程,父进程退出
  必须
(2) 子进程创建新会话
  必须
  setsid();
(3) 改变当前工作目录chdir
  不是必须的
  重设文件掩码
  open函数操作时的umask,子进程会继承父进程的掩码
  增加子进程程序操作的灵活性
  umask(新的掩码);
  不是必须的
(4) 关闭文件描述符
  close(0);
  close(1);
  close(2);
  释放资源,因为用不着
  不是必须的
  执行核心工作
  必须的

猜你喜欢

转载自blog.csdn.net/disappear_xuechao/article/details/80954697