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

写作网站哪个名声好互联网运营模式有哪几种

写作网站哪个名声好,互联网运营模式有哪几种,公司做网站的费用记到哪个科目,wordpress演示数据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://www.dtcms.com/a/610537.html

相关文章:

  • 磁共振成像原理(理论)32:分辨率限制 (Resolution Limitations)
  • StringRedisTemplate的用法详解
  • 第7天-摄像头体感游戏
  • wordpress液态页面wordpress国内优化 墙
  • AIC8800M40模组调试中遇到的问题
  • Linux设置目录用户权限
  • RVO2-CS:高效的多智能体避碰算法C#实现——原理、应用与实战指南
  • 哈希表实现unordered_map
  • 亚马逊欧洲FBM Ship+上线丨零成本升级配送,中国卖家入驻正当时
  • 做网站seo优化总结做网站年入多少
  • 主流 AI IDE 之一的 Meituan CatPaw IDE 介绍
  • 网站模板下载后怎么使用建设银行舟山分行网站
  • 解决访问 https 网站时,后端重定向或获取 URL 变成 http 的问题
  • 南京h5网站开发网上免费个人网站
  • 【☀Linux驱动开发笔记☀】新字符设备驱动开发_02
  • Java-173 Neo4j + Spring Boot 实战:从 Driver 到 Repository 的整合与踩坑
  • 阳光保险网站wordpress phpwind
  • Android内核进阶之获取DMA地址snd_pcm_sgbuf_get_addr:用法实例(九十一)
  • 隔离地过孔要放哪里,才能最有效减少高速信号过孔串扰?
  • 鸿蒙应用开发从入门到实战(五):ArkUI概述
  • 广东大唐建设网站网站开发名片怎么做
  • 图片展示类网站wordpress模板在线编辑
  • 大模型面试题:请讲一下生成式语言模型的工作机理
  • OpenWebui 富文本提示词 远程命令注入漏洞 | CVE-2025-64495 复现研究
  • 黑马Python+AI大模型开发课程笔记(个人记录、仅供参考)
  • 安全的响应式网站建设半月报网站建设商务代表工作总结
  • 现在1做啥网站流量大上海网站制作网站制作公司
  • 如何做彩票网站域名查询入口
  • 学习react第四天
  • 宜宾百度网站建设武锡网站建设生购房政策