什么是守护进程
举个例子:当我们现在有两个任务需要并发执行,一个主进程一个子进程分别进行处理就可以了,如果主进程任务处理完后,子进程任务没必存在了没必要再进行了,就可以使用守护进程
注意事项:1、守护进程会在主进程代码结束后进行终止
2、守护进程里面不能再开其他的子进程,不然会报错:AssertionError: daemonic processes are not allowed to have children
设置守护进程:在该进程start()之前进行写上 daemon = True
from multiprocessing import Process import time import random def task(name): print('%s is piaoing' %name) time.sleep(random.randrange(1,3)) print('%s is piao end' %name) if __name__ == '__main__': p=Process(target=task,args=('egon',))
p.daemon=True #一定要在p.start()前设置,设置p为守护进程,禁止p创建子进程,并且父进程代码执行结束,p即终止运行 p.start() print('主') #只要终端打印出这一行内容,那么守护进程p也就跟着结束掉了
<<<<主 # 这里由于在主程序运行完之前子进程还未起来,主进程就已经运行结束了,守护进程就会跟着一起结束掉