守护进程会随着主进程的代码结束之后在结束,而不是等待整个主进程结束(因为主进程要回收资源)
主进程的代码什么时候结束,守护进程就什么时候结束,和其他子进程执行进度无关
主进程会等待所有的子进程结束,是为了回收子进程的资源
注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止
开启一个守护进程:在start一个进程之前设置 daemon = True
import time from multiprocessing import Process def func1(): while True: # 此进程会每隔1秒无限打印 is func1 print('is func1') time.sleep(1) if __name__ == '__main__': p = Process(target=func1) p.daemon = True # 表示p是一个守护进程 p.start() time.sleep(3) # 主进程代码只执行3秒,守护进程同样只执行3秒 # 输出 is func1 is func1 is func1