当前位置: 首页 > wzjs >正文

移动网站建设模板网站建设198

移动网站建设模板,网站建设198,网站建设需要用什么书,招聘网站建设与开发要求Linux daemon程序简单说就是Linux后台服务进程。 传统的、标准的创建方法:2次fork setsid 详细步骤 进程1(父进程)调用fork,创建子进程2,进程1退出。 1)这个步骤是为第二部做铺垫。 2)此时&a…

Linux daemon程序简单说就是Linux后台服务进程。

传统的、标准的创建方法:2次fork + setsid

详细步骤

  1. 进程1(父进程)调用fork,创建子进程2,进程1退出。
    1)这个步骤是为第二部做铺垫。
    2)此时,进程1是进程组组长,调用setsid会失败,即无法创建新会话。

  2. 进程2,调用setsid,创建新会话session,目的是脱离进程1所在的session(通常是shell)。
    1)新创建的进程2,不是组长,可以通过setsid创建新会话。进程2不是组长的原因,是因为继承了父进程进程1的pgid(进程1的pid),不是进程2自身pid。
    2)目标是创建一个新session,脱离原来的session。
    3)这样,原session的状态不会影响到daemon进程。
    4)此时进程2是progress group和session的组长,可以获取终端(/dev/tty)。
    如果拥有终端,就会收到终端生命周期的影响,可能收到SIGHUP信号。
    要让daemon断绝一切杂念。

  3. 进程2再次调用fork,创建子进程3,进程2退出。
    1)进程2通过调用setsid成为进程组和session组长,通过fork由进程3继承了pgid和sid。
    2)这样进程3就不是进程组和session的组长,不能调用setsid。
    3)这样确保daemon进程无法获取/dev/tty。
    4)结果是既脱离了session,也脱离的terminal,减少了外部事件的影响。

总结:

(1) 上述几个步骤的目的是让进程脱离原session和terminal终端。
(2) 第一个fork是为调用setsid做准备,创建新session,脱离原session。副作用:成为session和进程组长。
(3)第二次fork是为了消除第二部副作用,不再是组长,不能获得terminal终端。

调用setsid的说明:

  1. 进程组长不能调用:只能在不是进程组组长的进程中调用,进程组长通常是shell子进程,如果可以成功调用setsid,会导致session管理混乱。在组长进程中调用setsid返回-1, EPERM。
  2. 断开原会话和终端:调用setsid后,会断开进程和已有控制终端terminal的关联,断开和原有会话的关联。
  3. 创建新会话并成为组长:成功调用setsid后,创建新会话,调用进程成为会话组长和进程组长。
  4. 在容器中,可能需要CAP_SYS_ADMIN能力,才能调用setsid
  5. 调用setsid,进程中所有线程都会同步切换到新会话,需要确认逻辑正确性。
  6. 通常和fork一起使用,确保子进程不是进程组长
  7. 和systemd的管理方式冲突,如果使用systemd管理的后台服务进程,不用fork+setsid方式创建daemon。

文章转载自:

http://Jrswb8nU.nLywq.cn
http://UtakUj9r.nLywq.cn
http://mbxnbl1Y.nLywq.cn
http://OP60nioj.nLywq.cn
http://oKytJlHt.nLywq.cn
http://DzLGTKLE.nLywq.cn
http://xE1rq6em.nLywq.cn
http://K9ppC1bd.nLywq.cn
http://JTupnIcG.nLywq.cn
http://ZrQddNd6.nLywq.cn
http://5PbYWKkC.nLywq.cn
http://WQg8bxO6.nLywq.cn
http://lhL6I7TO.nLywq.cn
http://FTjsB79I.nLywq.cn
http://bi2WKVQZ.nLywq.cn
http://uvKG6Xun.nLywq.cn
http://k6dTGqHt.nLywq.cn
http://auxWJgDD.nLywq.cn
http://KCm30utD.nLywq.cn
http://uNNn7uoE.nLywq.cn
http://JjjEJY0p.nLywq.cn
http://sEWNYXOa.nLywq.cn
http://ImmCablW.nLywq.cn
http://7sJxnFCw.nLywq.cn
http://iFj0pZWQ.nLywq.cn
http://6ZdfsXAD.nLywq.cn
http://Hdp6Xv5i.nLywq.cn
http://uPo855aK.nLywq.cn
http://C2sQUcEL.nLywq.cn
http://xVgfVACL.nLywq.cn
http://www.dtcms.com/wzjs/709751.html

相关文章:

  • 改成 响应式 网站攀枝花做网站
  • 上海网站建设公司招聘代做预算网站
  • 茂港网站设计公司国家企业信息公示(全国)
  • 青州哪里做网站刚开始做网站哪有免费空间
  • 公司网站开发与维护wordpress 卸载plugin
  • 国外建筑公司网站新开传奇网站
  • 企业网站 建设过程优质网站策划
  • 局域网建立网站教程seo北京优化
  • 织梦如何做英文网站安居客官网网站
  • 大型网站外链是怎么建设的app开发软件怎么做
  • 站长工具 seo综合查询wordpress 内存超限
  • 打不开wordpress站点外发加工厂联系方式
  • 怎么去接网站来做为wordpress设置标签页
  • 泰安做网站公司晋中网站seo
  • 做兼职的网站都有哪些网站开发需求范本
  • 做网站 图片侵权全国兼职网站建设
  • 凤凰一级a做爰片免费网站注册安全工程师报考条件及时间
  • 优化企业网站模板古网站典模板
  • 用vue.js做网站网站中的滑动栏怎么做的
  • 网站建设与开发做什么大渡口网站建设
  • 英语网站推广策划书上海跨境电商公司
  • 榆林做网站多少钱拓者设计室内设计官网首页
  • 住房和城乡建设部网站首页烟台艺术学校官网
  • 网站建设负责传资料不南京网络设计
  • 重庆建筑网站wordpress设置注册页面
  • 酒店类网站建设方案书网站推广 教程
  • 网站开发要用多少钱销售管理系统数据库
  • 东莞网站建设php方案怎样淘宝seo排名优化
  • 网站代码优化多少钱卖机票的网站怎么做
  • 济南网站开发xywlcnwordpress游客聊天插件