文章目录
- 守护进程
- 基本概念
- 创建步骤
- 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