明霞山资源网 Design By www.htccd.com
一、什么是守护进程
Linux系统启动时会启动很多系统服务进程,这些系统服 务进程没有控制终端,不能直接和用户交互。其它进程都是在用户登录或运行程序时创建,在运"杩欓噷鍐欏浘鐗囨弿杩" src="/UploadFiles/2021-04-10/201706281003577.png">
二、守护进程的调用
创建守护进程最关键的"杩欓噷鍐欏浘鐗囨弿杩" src="/UploadFiles/2021-04-10/201706281003578.png">
除了自己实现外,我们还可以调用系统中的demon进行设置;
进行第二次fork的原因?
要明晰第二次fork的原因,就必须明晰这两次fork的作用。
第一次fork的作用是:1、让shell认为这条命令已经终止,不用挂在终端输入上;
2、为之后的setsid服务,因为调用setsid函数的进程不能是进程组组长,如果不fork出子进程,则此时的父进程是进程组组长,就无法调用setsid。(当子进程调用完setsid函数之后,子进程是会话组长也是进程组组长,并且脱离了控制终端,此时,不管控制终端如何操作,新的进程都不会收到一些信号使得进程退出。)
(2)第二次fork的作用:
虽然当前关闭了和终端的联系,但是后期可能会误操作打开了终端。只有确定会话首进程能打开终端设备,也就是再fork一次,再把父进程退出,再次fork的子进程作为守护进程继续运行,保证了该精灵进程不是对话期的首进程。
第二次不是必须的,是可选的,市面上有些开源项目也是fork一次
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...