快活林资源网 Design By www.csstdc.com

一、什么是守护进程

Linux系统启动时会启动很多系统服务进程,这些系统服 务进程没有控制终端,不能直接和用户交互。其它进程都是在用户登录或运行程序时创建,在运"杩欓噷鍐欏浘鐗囨弿杩" src="/UploadFiles/2021-04-10/201706281003577.png">

 二、守护进程的调用

创建守护进程最关键的"杩欓噷鍐欏浘鐗囨弿杩" src="/UploadFiles/2021-04-10/201706281003578.png">

详解Linux中的守护进程

详解Linux中的守护进程

除了自己实现外,我们还可以调用系统中的demon进行设置;

进行第二次fork的原因?

要明晰第二次fork的原因,就必须明晰这两次fork的作用。

第一次fork的作用是:1、让shell认为这条命令已经终止,不用挂在终端输入上;

2、为之后的setsid服务,因为调用setsid函数的进程不能是进程组组长,如果不fork出子进程,则此时的父进程是进程组组长,就无法调用setsid。(当子进程调用完setsid函数之后,子进程是会话组长也是进程组组长,并且脱离了控制终端,此时,不管控制终端如何操作,新的进程都不会收到一些信号使得进程退出。)

(2)第二次fork的作用:

虽然当前关闭了和终端的联系,但是后期可能会误操作打开了终端。只有确定会话首进程能打开终端设备,也就是再fork一次,再把父进程退出,再次fork的子进程作为守护进程继续运行,保证了该精灵进程不是对话期的首进程。

第二次不是必须的,是可选的,市面上有些开源项目也是fork一次

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com