如何实现守护进程?

晨妹妹 2024-11-15 13:43:15
最佳回答
1守护进程(daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。1、守护进程最重要的特性是后台运行。 2、守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。 3、守护进程的启动方式有其特殊之处。它可以在linux系统启动时从启动脚本/etc/rc.d中启动,可以由作业规划进程crond启动,还可以由用户终端(shell)执行。  总之,除开这些特殊性以外,守护进程与普通进程基本上没有什么区别。因此,编写守护进程实际上是把一个普通进程按照上述的守护进程的特性改造成为守护进程。如果对进程有比较深入的认识就更容易理解和编程了。2守护进程之编程规则 (1)首先要做的是调用umask将文件模式创建屏蔽字设置为0。   文件权限掩码:是指屏蔽掉文件权限中的对应位。例如,有个文件权限掩码是050,它就屏蔽了文件组拥有者的可读与可执行权限(对应二进制为,rwx, 101)。由于fork函数创建的子进程继承了父进程的文件权限掩码,这就给子进程使用文件带来了诸多的麻烦。因此,把文件权限掩码设置为0(即,不屏蔽任何权限),可以增强该守护进程的灵活性。设置文件权限掩码的函数是umask。通常的使用方法为umask(0)。(2)调用fork,然后使父进程退出(exit)。if(pid=fork()) exit(0);(3)调用setsid以创建一个新会话,脱离控制终端和进程组。setsid函数作用:用于创建一个新的会话,并担任该会话组的组长。 3调用setsid有3个作用:(a) 让进程摆脱原会话的控制;(b) 让进程摆脱原进程组的控制;(c) 让进程摆脱原控制终端的控制; setsid()   使用setsid函数的目的:由于创建守护进程的第一步调用了fork函数来创建子进程再将父进程退出。由于在调用fork函数时,子进程拷贝了父进程的会话期、进程组、控制终端等,虽然父进程退出了,但会话期、进程组、控制终端等并没有改变,因此,这还不是真正意义上的独立开了。使用setsid函数后,能够使进程完全独立出来,从而摆脱其他进程的控制。4(4)将当前工作目录更改为根目录。#define nofile 256 for(i=0;i<nofile;i++) close(i);(5)关闭不再需要的文件描述符。这使守护进程不再持有从其父进程继承来的某些文件描述符(父进程可能是shell进程,或某个其他进程)。5(6)某些守护进程打开/dev/**使其具有文件描述符0、1和2,这样,任何一个试图读标准输入、写标准输出和标准出错的库例程都不会产生任何效果。因为守护进程并不与终端设备相关联,所以不能在终端设备上显示其输出,也无处从交互式用户那里接受输入。end 20210311
汇率兑换计算器

类似问答
  • 如何评价《隐形守护者》中的陆望舒?
    • 2024-11-15 19:25:04
    • 提问者: 未知
    在国内**大肆鼓吹、**地环境中,纯子并没有偏听偏信、一味盲从,而是希望通过自己真实地所见所闻来揭示战争的真相。...吸引了所有**和兴荣帮成员的注意力。...
  • 百万守护的投保年龄 招商信诺百万守护
    • 2024-11-15 06:50:21
    • 提问者: 未知
    百万守护是招商信诺推出的一款返还型意外险,并且具有无论是否理赔,满期都能140%返还,那么百万守护的投保年龄是...百万守护投保年龄为出生28天-17周岁,是一款能够为孩子...
  • opporeno可以远程守护vivonex3s吗?
    • 2024-11-15 03:34:33
    • 提问者: 未知
    1、打开手机桌面的【远程守护】,然后登录自己的oppo账号,点击任意位置添加需要被守护的手机。2、打开被守护手机的设置,点击加入远程守护。然后使用远程守护手机扫码打开信息设置界面,设置完成后点击屏幕下方完成就绑定成功啦。对这些功能我们还可以进行进一步的设置,如点击【实时位置】下方的【添加新守护范围】即可设置电子围栏区域,被守护人一旦出了这个电子围栏的范围就会向守护手机发送定位,及时了解被守护人的动...
  • 关于守护
    • 2024-11-15 04:28:03
    • 提问者: 未知
    守护有 1.桃花娘子(红色的桃花仙)2.避水金睛兽(红色的古代瑞兽)3.火麒麟(红色的麒麟)4.净盘使者(红色的猪怪)4.符咒女娲(红色的符咒)5.女贼之灵(红色的女贼)6.玉兔(红色的兔...
  • 我是个守护..
    • 2024-11-15 09:19:58
    • 提问者: 未知
    守护**上20很正常,稍微分点能穿上1阶2阶装会更好看点.事实上守护在游戏前期顶怪的重要性没那么明显.就拿21级野兽主线任务来说,那3个boss**法师也能顶.平时小怪**守护...
  • 格林德沃的家庭背景如何?守护神是什么?
    • 2024-11-15 15:38:15
    • 提问者: 未知
    我很好奇格林德沃的家庭背景,他的家人是否还活着?他父母是什么工作?与家人的关系?他的父母是怎么培养…
  • 现代社会女性如何更好地进行自我保护?
    • 2024-11-15 16:27:46
    • 提问者: 未知
    最近看了南昌红谷滩的事件,让我真的有点害怕,经常会在新闻上看到女性被侵害的事情,作为一个女生,我觉…
  • 汽车内饰护理如何进行?
    • 2024-11-15 05:51:58
    • 提问者: 未知
    汽车内饰可以进行精洗,用专用的内饰清洁剂,皮革清洁剂,多功能泡沫清洁剂等清洗。汽车内饰护理产品也有很多,皮水,真皮上光剂,真皮镀膜等等。现在市场上的内饰蒸汽消毒也是内饰护理的一种。
  • 守护光明顶
    • 2024-11-15 18:37:12
    • 提问者: 未知
    去 这个论坛的守护光明顶区去找攻略吧。顺便说一句,如果你没有正版图的话在那里也有得下。
  • 大学生如何做到诚实守信
    • 2024-11-15 09:31:45
    • 提问者: 未知
    当你不想说实情时,并且又不想说谎是你你可以保持沉默。 守信,一般不要轻易许诺,许诺了就要做到,除非有很大的意外,否则必须认真去履行诺言。
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。