守护进程

Posted wyh0717

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守护进程相关的知识,希望对你有一定的参考价值。

守护进程

p.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‘)
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‘)
    p2.join()    # 等待p2结束之后才结束

# 等待p2结束 --> 主进程的代码才结束 --> 守护进程结束

以上是关于守护进程的主要内容,如果未能解决你的问题,请参考以下文章

20. Gradle编译其他应用代码流程(七) - 守护进程编译

守护线程与守护进程

DBUS 代码在放置在守护进程中时崩溃,但在没有守护进程代码的独立独立 main() 函数中运行良好

python基础-守护进程守护线程守护非守护并行

守护进程

守护进程(了解)