并发编程之守护进程

主进程创建守护进程

  其一:守护进程会在主进程代码执行结束后就终止

  其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children

注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止

import multiprocessing
import time

def taks_one():
    print("zi run")
    time.sleep(3)
    print("zi over")

if __name__ == '__main__':
    print("父 start")
    p = multiprocessing.Process(target=taks_one)
    p.daemon = True     # 在进程开启前,设置守护进程
    p.start()
    time.sleep(5)
    print("父 over")

以上代码中,主进程相当于被守护进程,子进程相当于守护进程

原文地址:https://www.cnblogs.com/plf-Jack/p/11130243.html

时间: 2024-10-21 13:22:47

并发编程之守护进程的相关文章

49_并发编程-线程-守护进程

一.守护线程 1. 对主进程来说,运行完毕指的是主进程代码运行完毕 2. 对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕 详解: <1>主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收),然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(否则会产生僵尸进程),才会结束 <2>主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收).因为主线程的结束意味着进程的结束,进程整体的资源都将被回收,而进程

PHP高级编程之守护进程,实现优雅重启

PHP高级编程之守护进程 http://netkiller.github.io/journal/php.daemon.html Mr. Neo Chen (陈景峰), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 <[email protected]> 版权 ? 2014 http://netkiller.github.io 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和

[Python网络编程]浅析守护进程后台任务的设计与实现

在做基于B/S应用中,经常有需要后台运行任务的需求,最简单比如发送邮件.在一些如防火墙,WAF等项目中,前台只是为了展示内容与各种参数配置,后台守护进程才是重头戏.所以在防火墙配置页面中可能会经常看到调用cgi,但真正做事的一般并不是cgi,比如说执行关机命令,他们的逻辑如下: (ps:上图所说的前台界面包含通常web开发中的后端,不然也没有socket一说) 为什么要这么设计 你可能疑惑为什么要这么设计,我觉得理由如下: 首先有一点说明,像防火墙等基本上都运行在类Linux平台上 1.安全问题

Linux编程实现守护进程

Linux 守护程序 守护进程(Daemon)它是在一个特定的过程的背景进行. 事件.守护进程是一种非常实用的进程. Linux的大多数server就是用守护进程实现的. 比方,Internetserverinetd,Webserverhttpd等. 同一时候,守护进程完毕很多系统任务.比方.作业规划进程crond,打印进程lpd等. 守护进程的编程本身并不复杂,复杂的是各种版本号的Unix的实现机制不尽同样.造成不同Unix环境下守护进程的编程规则并不一致.这须要读者注意,照搬某些书上的规则(

并发编程之多进程进程进程

Python 并发编程之多进程 1.1 multiprocessing 模块 Python 中的多线程无法利用多核资源,如果想要充分的使用多核 cpu 的资源,在 Python 中大部分情况需要使用多进程. Python 为我们提供了非常好用的多进程包multiprocessing! os.cpu_coutn() multiprocessing模块用来开启子进程,并在模块中执行我们定制的任务(如函数,实现功能等). multiprocessing 模块的功能有很多: ?支持子进程 ?通信和共享数

Unix环境高级编程(十三)守护进程

守护进程也称为精灵进程是一种生存期较长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.他们常常在系统引导装入时启动,在系统关闭时终止.unix系统有很多守护进程,大多数服务器都是用守护进程实现的,例如inetd守护进程. 1.守护进程的特征 用ps命令察看一些常用的系统守护进程,看一下他们和几个概念:进程组.控制终端和会话有什么联系.执行: ps –axj ,结果如下所示: 从结果可以看出守护进程没有控制终端,其终端名设置为?,终端前台进程组ID设置为-1,ini

Python3 与 C# 并发编程之~ 进程先导篇

Linux专项¶ 先写几个问号来概况下今天准备说的内容:(谜底自己解开,文中都有) 你知道Ctrl+C终止进程的本质吗?你知道Kill -9 pid的真正含义吗? 你知道那些跨平台框架(Python,NetCore)在Linux下创建进程干了啥? 你了解僵尸进程和孤儿进程的悲催生产史吗?孤儿找干爹,僵尸送往生想知道不? 想知道创建子进程后怎么李代桃僵吗?ps aux | grep xxx的背后到底隐藏了什么? 你了解Linux磁盘中p类型的文件到底是个啥吗? 为什么要realase发布而不用de

【python进阶】并发编程-线程与进程

并发编程-进程与线程 什么是进程(process)? 进程(process),是计算机中已运行程序的实体,是线程的容器:一个进程至少有一个线程 假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源.是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让 程序B暂停,然后让程序A继续执行?当然没问题,但这里有一个关键词:切换既然是切换,那么这就涉及到了状态的保存

《网络编程》守护进程

前言 守护进程是在后台运行并独立于所有终端控制的进程.守护进程没有控制终端源于它们通常是由系统初始化脚本启动,但是也有可能从某个终端由用户在 shell 提示符下键入命令行启动,这种启动方式的守护进程必须亲自脱离与控制终端的关联,从而避免与作业控制.终端会话管理.终端产生信号等发生任何不期望的交互,也可以避免在后台运行的守护进程非预期地输出到终端.有关作业控制.终端控制的内容可参考文章<作业控制.终端控制 和 守护进程> 由于守护进程没有控制终端,当守护进程出错时,必须通过某种输出函数输出错误