守护进程
2022/5/4 7:14:18
本文主要是介绍守护进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 那么如果有一天我们的需求是我的主进程结束了,由我主进程创建的那些子进程必须跟着结束,怎么办?守护进程就来了!
- 主进程创建守护进程后:
- 其一:守护进程会在主进程代码执行结束后就终止
- 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children
- 语法:
- 子进程对象.daemon = True
- 注意:主进程代码运行结束,守护进程随即终止
import time from multiprocessing import Process def son1(): while True: print('--> in son1') time.sleep(1) def son2(): # 执行10s for i in range(10): print('in son2') time.sleep(1) if __name__ == '__main__': # 3s p1 = Process(target=son1) p1.daemon = True # 表示设置p1是一个守护进程 p1.start() p2 = Process(target=son2,) p2.start() time.sleep(3) print('in main') # 主进程会等待所有的子进程结束,是为了回收子进程的资源 # 守护进程会等待主进程的代码执行结束之后再结束,而不是等待整个主进程结束. # 主进程的代码什么时候结束,守护进程就什么时候结束,和其他子进程的执行进度无关
- 要知道的两个问题:
- 1:为什么守护线程不能在主进程结束后再结束?
- 答:因为主进程要对守护进程结束后的资源进行回收,所有守护进程必须在主进程结束之前就结束。因此守护进程选择在主进程的代码执行结束这个节点结束自己。
- 2:守护进程可以守护其他子进程么?
- 答:不可以,守护进程只能守护主进程。
这篇关于守护进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?