自学内容网 自学内容网

Linux守护进程

守护进程

Daemon(进程),是Linux中的后台服务器进程,通常独立于控制终端,并且周期性的执行某种任务或者等待处理。某些发生的事件,一般采用d结尾的名字。

Linux后台的一些系统服务进程,没有控制终端,不能直接和用户交互。不受用户登录、注销的影响,一直在运行着,他们就是守护进程。

创建守护进程

  1. 创建子进程,父进程退出。
    使得所有工作在子进程中的任务脱离终端。
  2. 在子进程中创建新session
    • setsid()函数
    • 使得子进程完全独立出来,脱离父进程的权限控制
  3. 改变当前目录为根目录
    • chdir()函数
    • 这是为了防止占用可卸载的文件系统
  4. 重新设置文件掩码
    • umask()函数
    • 防止继承的文件创建屏蔽字来拒绝某些权限
  5. 关闭文件描述符
    • 关闭:STDOUT_FILENOSTDIN_FILENOSTDERR_FILENO
    • dup2()函数,重定向到dev/null
  6. 守护进程的任务。
    完成前面的准备工作,这里开始实现任务。
  7. 守护进程退出
    可使用信号机制。

原文地址:https://blog.csdn.net/H520xcodenodev/article/details/140691766

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!