网站开发文档包括广州番禺区核酸检测点

diannao/2026/1/24 4:23:04/文章来源:
网站开发文档包括,广州番禺区核酸检测点,网络科技公司网站源码下载,网站建设技术 翻译什么是守护进程#xff1f;答#xff1a;守护进程是后台运行的、系统启动是就存在的、不予任何终端关联的#xff0c;用于处理一些系统级别任务的特殊进程。实现思路#xff1a;实现一个守护进程#xff0c;其实就是将普通进程按照上述特性改造为守护进程的过程。需要注意…什么是守护进程答守护进程是后台运行的、系统启动是就存在的、不予任何终端关联的用于处理一些系统级别任务的特殊进程。实现思路实现一个守护进程其实就是将普通进程按照上述特性改造为守护进程的过程。需要注意的一点是不同版本的 Unix 系统其实现机制不同BSD 和 Linux 下的实现细节就不同。根据上述的特性我们便可以创建一个简单的守护进程这里以 Linux 系统下从终端 Shell 来启动为例。在此有必要说一下两个概念会话和进程组。参考 https://www.cnblogs.com/zengyiwen/p/5755191.html进程都有父进程父进程也有父进程这就形成了一个以init进程为根的家族树。除此以外进程还有其他层次关系进程、进程组和会话。进程组和会话在进程之间形成了两级的层次进程组是一组相关进程的集合会话是一组相关进程组的集合。这样说来一个进程会有如下ID·PID进程的唯一标识。对于多线程的进程而言所有线程调用getpid函数会返回相同的值。·PGID进程组ID。每个进程都会有进程组ID表示该进程所属的进程组。默认情况下新创建的进程会继承父进程的进程组ID。·SID会话ID。每个进程也都有会话ID。默认情况下新创建的进程会继承父进程的会话ID。前面提到过新进程默认继承父进程的进程组ID和会话ID如果都是默认情况的话那么追根溯源可知所有的进程应该有共同的进程组ID和会话ID。但是调用ps axjf可以看到实际情况并非如此系统中存在很多不同的会话每个会话下也有不同的进程组。为何会如此呢就像家族企业一样如果从创业之初所有家族成员都墨守成规循规蹈矩默认情况下就只会有一个公司、一个部门。但是也有些“叛逆”的子弟愿意为家族公司开疆拓土愿意成立新的部门。这些新的部门就是新创建的进程组。如果有子弟“离经叛道”甚至不愿意呆在家族公司里他别开天地另创了一个公司那这个新公司就是新创建的会话组。由此可见系统必须要有改变和设置进程组ID和会话ID的函数接口否则系统中只会存在一个会话、一个进程组。进程组和会话是为了支持shell作业控制而引入的概念。当有新的用户登录Linux时登录进程会为这个用户创建一个会话。用户的登录shell就是会话的首进程。会话的首进程ID会作为整个会话的ID。会话是一个或多个进程组的集合囊括了登录用户的所有活动。在登录shell时用户可能会使用管道让多个进程互相配合完成一项工作这一组进程属于同一个进程组。当用户通过SSH客户端工具putty、xshell等连入Linux时与上述登录的情景是类似的。通常会话开始于用户登录终止于用户退出期间的所有进程都属于这个会话。一个会话一般包含一个会话首进程、一个前台进程组和一个后台进程组控制终端可有可无此外前台进程组只有一个后台进程组可以有多个这些进程组共享一个控制终端。前台进程组该进程组中的进程可以向终端设备进行读、写操作属于该组的进程可以从终端获得输入。该进程组的 ID 等于控制终端进程组 ID通常据此来判断前台进程组。后台进程组会话中除了会话首进程和前台进程组以外的所有进程都属于后台进程组。该进程组中的进程只能向终端设备进行写操作。下图为会话、进程组、进程和控制终端之间的关系登录 shell 进程本身属于一个单独的进程组。想了解更多关于会话 Sessions 内容可以认真读一下 APUE 这本书。如果调用进程非组长进程那么就能创建一个新会话该进程变成新会话的首进程该进程成为一个新进程组的组长进程该进程没有控制终端如果之前有则会被中断会话过程对控制终端的独占性也就是说组长进程不能成为新会话首进程新会话首进程必定成为组长进程。1、fork()创建子进程父进程exit()退出这是创建守护进程的第一步。由于守护进程是脱离控制终端的完成这一步后就会在Shell终端里造成程序已经运行完毕的假象。之后的所有工作都在子进程中完成而用户在Shell终端里则可以执行其他命令从而在形式上做到了与控制终端的脱离在后台工作。由于父进程先于子进程退出子进程就变为孤儿进程并由 init 进程作为其父进程收养。2、在子进程调用setsid()创建新会话在调用了 fork() 函数后子进程全盘拷贝了父进程的会话期、进程组、控制终端等虽然父进程退出了但会话期、进程组、控制终端等并没有改变。这还不是真正意义上的独立开来而 setsid() 函数能够使进程完全独立出来。 setsid()创建一个新会话调用进程担任新会话的首进程其作用有使当前进程脱离原会话的控制使当前进程脱离原进程组的控制使当前进程脱离原控制终端的控制这样当前进程才能实现真正意义上完全独立出来摆脱其他进程的控制。3、再次 fork() 一个子进程父进程exit退出现在进程已经成为无终端的会话组长但它可以重新申请打开一个控制终端可以通过 fork() 一个子进程该子进程不是会话首进程该进程将不能重新打开控制终端。退出父进程。也就是说通过再次创建子进程结束当前进程使进程不再是会话首进程来禁止进程重新打开控制终端。4、在子进程中调用chdir()让根目录“/”成为子进程的工作目录这一步也是必要的步骤。使用fork创建的子进程继承了父进程的当前工作目录。由于在进程运行中当前目录所在的文件系统如“/mnt/usb”是不能卸载的这对以后的使用会造成诸多的麻烦比如系统由于某种原因要进入单用户模式。因此通常的做法是让/作为守护进程的当前工作目录这样就可以避免上述的问题当然如有特殊需要也可以把当前工作目录换成其他的路径如/tmp。改变工作目录的常见函数是chdir。(避免原父进程当前目录带来的一些麻烦)5、在子进程中调用umask()重设文件权限掩码为0文件权限掩码是指屏蔽掉文件权限中的对应位。比如有个文件权限掩码是050它就屏蔽了文件组拥有者的可读与可执行权限就是说可读可执行权限均变为7。由于使用fork函数新建的子进程继承了父进程的文件权限掩码这就给该子进程使用文件带来了诸多的麻烦。因此把文件权限掩码重设为0即清除掩码权限为777这样可以大大增强该守护进程的灵活性。通常的使用方法为umask(0)。(相当于把权限开发)6、在子进程中close()不需要的文件描述符同文件权限码一样用fork函数新建的子进程会从父进程那里继承一些已经打开了的文件。这些被打开的文件可能永远不会被守护进程读写但它们一样消耗系统资源而且可能导致所在的文件系统无法卸下。其实在上面的第二步之后守护进程已经与所属的控制终端失去了联系。因此从终端输入的字符不可能达到守护进程守护进程中用常规方法如printf输出的字符也不可能在终端上显示出来。所以文件描述符为0、1和2 的3个文件常说的输入、输出和报错已经失去了存在的价值也应被关闭。关闭失去价值的输入、输出、报错等对应的文件描述符7、守护进程退出处理当用户需要外部停止守护进程运行时往往会使用 kill 命令停止该守护进程。所以守护进程中需要编码来实现 kill 发出的signal信号处理达到进程的正常退出。一张简单的图可以完美诠释之前几个步骤至此为止一个简单的守护进程就建立起来了。注意守护进程一般需要在 root 权限下运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络营销推广优化网站推广优化淄博公司

我在python上编写了一个小脚本,该脚本从控制台调用命令行以使linux机器休眠(或在更改一个单词的情况下将其自身关闭),然后在一段时间后唤醒.通过watch命令一次又一次地调用该命令.import osimport timeos.system("watch -n 20 sudo rtcwake -u -s 10 -m mem")因此,在…

网站导航一定要一样吗网站设计模版免费下载

NB-IoT模组的应用场景一般具备低频次、小数据量、上行为主、工作时间短(激活态时间短)等特点。因此,休眠态的功耗是NB-IoT模组产品综合耗电的重点考量参数之一。中移物联OneMO超低功耗NB-IoT模组MN316,凭借其紧凑的尺寸、极低的休…

安安互联怎么上传网站科研实验室网站建设

2024年6月24日,JumpServer开源堡垒机正式发布v3.10.11 LTS版本。JumpServer开源项目组将对v3.10 LTS版本提供长期的支持和优化,并定期迭代发布小版本。欢迎广大社区用户升级至v3.10 LTS最新版本,以获得更佳的使用体验。 在JumpServer v3.10.…

dede分类信息网站网站首页设计一般包括那三个

目录 一、下载nltk_data-gh-pages.zip数据文件 二、将nltk_data文件夹移到对应的目录 三、测试 四、成功调用punkt库 问题: 解决方案: 在使用自然语言处理库nltk时,许多初学者会遇到“nltk.download(punkt)”无法正常下载的问题。本…

asp网站设计代做深圳高端网站建设多少钱

对于Python初学者来说,舍得强烈推荐从《HeadFirst Python》开始读起,这本书当真做到了深入浅出,HeadFirst系列,本身亦是品质的保证。这本书舍得已在《Python起步:写给零编程基础的童鞋》一文中提供了下载。为了方便大家…

网站开发都需要什么工作百安居装修报价清单

简介: 从团队的角度来看,写好代码是一件非常有必要的事情。如何写出干净优雅的代码是个很困难的课题,我没有找到万能的 solution,更多的是一些 trade off,可以稍微讨论一下。 写了多年的代码,始终觉得如何写…

二级域名网站查询全国工商网注册查询网

创建型模式 1、FACTORY —追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式…

揭阳有哪家网站制作公司内蒙古住房与建设官方网站

1、模式标准 模式名称:组合模式 模式分类:结构型 模式意图:将对象组合成树型结构以表示“部分-整体”的层次结构。Composite 使得用户对单个对象和组合对象的使用具有一致性。 结构图: 适用于: 1、想表示对象的部分…

网站设计制作怎样可以快速天津建设工程信息网吧

一、题目 输入一个数n,计算123……n的和 二、代码截图【带注释】 三、源代码【带注释】 #include int main() { int num0; printf("请输入要运算的数:"); scanf("%d",&num); sumResult(num);//相加结果函数 } //计算打印…

网站页面设计论文网站流量的做

在MySQL中,update是原地更新数据,原地更新数据,原地更新数据。重要的事情说3遍。这是不同于PGSQL的。 update的具体过程是: (1)、先对该条record对应的索引加X锁 (2)、将修改后的数据写入到redo.log中 (3)、将修改之前的数据备…

西安市住宅和城乡建设局网站wordpress允许爬取

针对 ant-design-vue 版本 3.2.6 中 组件使用 mode“combobox” 时模式不生效的问题,我们可以基于现有信息和社区反馈来探讨可能的原因及解决方案。 警告与弃用通知 根据最新的资料,ant-design-vue 已经发出警告:[antdv: Select] The combob…

网站icp备案证明文件芜湖seo外包公司

本文来源: V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述:二、高速收发器结构:2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…

对话弹窗在网站上浮动个人做外贸怎么做

给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。 注意:若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出…

188旅游网站管理系统源码网站服务类型怎么选

1.控制坐标轴长度比率和数据单位长度 您可以控制 x 轴、y 轴和 z 轴的相对长度(图框纵横比),也可以控制一个数据单位沿每个轴的相对长度(数据纵横比)。 1.1图框纵横比 图框纵横比是 x 轴、y 轴和 z 轴的相对长度。默认…

网站开发与发布网站怎么做安全

———————————————————— 普通的树形结构中数据是杂乱无章的,实际意义不大,要想更好的管理数据,需要让数据有序,二叉搜索树又称二叉排序树,是一种特殊的树形结构。 规定一般的二叉搜索树的左节点小于…

c2c网站 多钱网站建设审批

内网渗透思维导图 密码相关域渗透攻击思路DACL的应用NTLM 中继攻击滥用 ACE 内网渗透思维导图 专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! 密码相关 域渗透攻击思路 常见攻击手法&a…

网站的推广方式组合温州seo顾问

282. 给表达式添加运算符(困难) 题目描述: 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)、- 或 * ,返回 所有 能够得到 targe…

免费php网站模板下载wordpress添加前台

1、线性规划问题 解题思路: 先把文字转化成图表 最快方式应该是把第一题的4个答案直接代入计算,很快得知X2时利润最大。 A0时,利润5*630 A2时,利润2*25*634 A4时,利润4*23*523 A6时,利润4*2(因为甲的…

百度 网站添加做网站江门

在PIL(Python Imaging Library)中,P模式和L模式是两种不同的图像模式,用于表示图像的存储方式和色彩空间。 P模式(Palette模式):P模式是一种索引颜色图像模式,它使用一个调色板&…

公明网站制作wordpress注册按钮

使用thymeleaf的时候报元素类型"meta"必须由匹配的结束标记""终止> 解决方案有二种&#xff1a; 第一种&#xff1a; 让html的标记严格严谨的语法&#xff1a; 加上结束标签第一种&#xff1a;&#xff1a;修改thymeleaf版本 <thymeleaf.version…