python 守护进程

python 守护进程,第1张

一、守护进程的特性

守护进程是一个在后台运行并且不受任何终端控制的进程(守护进程独立于所有终端,之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的模袭睁信息也不在任何终端上显示。)

二、守护进程的作用

守护进程是一类在后台执行,生命周期较长的进程,它一般随系统启动运行,在系统关闭的时候停止。所以守护进程一般用作系统后台服务。

三、如何编写一个守护进程

编写守护进程实际上是把一个普通进程按照守护进程的特性进行改造。

守护进程的开发涉及到子进程、进程组、会晤期、信号量、文件权限、目录和控制终端等多个概念。

由于守护进程是脱离控制终端的,因此首先创建子进程,终止父进程,使得程序在shell终端里造成一禅敏个已经运行完毕的假象。之后所有的工作都在子进程中完成,而用户在shell终端里则可以执行其他的命令,从而使得旦岁程序以僵尸进程形式运行,在形式上做到了与控制终端的脱离。

四、python 编写守护进程

参考: https://cloud.tencent.com/developer/article/1411989

守护进程(daemon)是指在UNIX或其他多任务 *** 作系统中在后台执行的电脑程序,并不会接受电脑用户的直接 *** 控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。

通常,守颂银护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方法通常被称为“脱壳”。

系统通常在启动时一同起动守护进程。守护进此烂程为对网络请求,硬件活动等进行响应,或其他通过某些任务对其他应用程序的请求进野扒宴行回应提供支持。守护进程也能够对硬件进行配置(如在某些Linux系统上的devfsd),运行计划任务(例如cron),以及运行其他任务。

在DOS环境中,此类应用程序被称为驻留程序(TSR)。在Windows系统中,由称为Windows服务的应用程序来履行守护进程的职责。

在原本的Mac OS系统中,此类应用程序被称为“extensions”。而作为Unix-like的 Mac OS X有守护进程。(在Mac OS X中也有“服务”,但他们与Windows中类似的程序在概念上完全不相同。)

守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启厅肆动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的。比如,网络服务inetd、Web服务http等。同时,守护进程完成许多系统任务。比如,作业规划进程crond、打印进程lqd等。

守护运枯进程及其特性

守护进程最重要旁伏洞的特性是后台运行。在这一点上,DOS下的常驻内存程序TSR与之相似。

其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。

最后,守护进程的启动方式有其特殊之处。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12379963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存