Python中子进程,守护进程与父进程的关系

本文通过代码示例探讨了Python中子进程、守护进程与父进程的关系。当父进程结束时,守护进程随之结束,而子进程可能独立运行。实验结果显示,即使func1进程应持续执行,但在父进程结束后它也终止,而父进程等待子进程func2执行完毕后才结束。
摘要由CSDN通过智能技术生成

          一般情况下,父进程会等子进程完全结束后再结束,但是守护进程是随着父进程代码结束而结束。而且子进程不是一定要依附父进程执行。那我们如何来证明这个结论呢,下面就用一段代码简单的代码来证明子进程,守护进程与父进程的关系:

#导入Process模块
from multiprocessing import Process
#导入time模块
import time
#创建一个func1方法作为子进程
def func1():
    #休眠0.5秒
    while True:
        time.sleep(0.5)
        print("我是func1守护线程,我还活着!!!")

def func2():
        print("我是func2,我启动了")
        # 休眠五秒
        time.sleep(5)
        print("我是func2,我结束了")

if __name__ ==  "__main__":
    #创建一个子进程func1
    P1 = Process(target=func1)
    #设置为守护进程
    P1.daemon = True
    P1.start()
    # 创建一个子进程func1
    P2 = Process(target=func2)
    P2.start()

    i = 0
    while i <=3:
        time.sleep(1)
        print("我是父进程")
        i += 1

执行后看打印结果:

     很明显的可以看出,func1这个进程是应该一直执行才对,但当父进程代码执行完毕后,func1这个进程也就跟着结束了。但此时父进程并没有结束,一直等func2这个子进程执行完毕之后,父进程才结束运行。由此可见,守护进程是随着父进程代码的结束二结束的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值