热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

什么是守护进程和守护线程

文章目录守护进程基本概念创建步骤1、创建子进程,终止父进程2、在子进程中创建新会话3、改变工作目录4、重设文件创建掩码5、关闭文件描述符总结参考资料守护线程基本概念参

文章目录

  • 守护进程
    • 基本概念
    • 创建步骤
      • 1、创建子进程,终止父进程
      • 2、在子进程中创建新会话
      • 3、改变工作目录
      • 4、重设文件创建掩码
      • 5、关闭文件描述符
    • 总结
    • 参考资料
  • 守护线程
    • 基本概念
    • 参考资料


守护进程

基本概念

个人理解:
守护进程和普通进程区别是指:将后台程序变成一种服务,比如说,用命令行输入启动程序,如果不是守护进程的话,一旦命令行窗口关闭,程序就终止了;而如果启动守护进程,则退出命令行窗口之后,服务一直处于运行状态。

UNIX系统有很多守护进程,守护进程程序的名称通常以字母“d”结尾:例如,syslogd 就是指管理系统日志的守护进程。

创建步骤

在这里插入图片描述

1、创建子进程,终止父进程

由于守护进程是脱离控制终端的,因此首先创建子进程,终止父进程,使得程序在shell终端里造成一个已经运行完毕的假象。之后所有的工作都在子进程中完成,而用户在shell终端里则可以执行其他的命令,从而使得程序以僵尸进程形式运行,在形式上做到了与控制终端的脱离。

2、在子进程中创建新会话


3、改变工作目录


4、重设文件创建掩码


5、关闭文件描述符


总结

编写守护进样实际上是把一个普通进程按照上述的守护进程的特性改造成为守护进程。

参考资料

https://baike.baidu.com/item/%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B/966835

守护线程

基本概念

用户线程:我们平常创建的普通线程。

守护线程:用来服务于用户线程;不需要上层逻辑介入,当然我们也可以手动创建一个守护线程

参考资料

http://www.itqiankun.com/article/daemon-thread


推荐阅读
author-avatar
开在覀黎明前的小茉莉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有