python 之守护进程
什么是守护进程:
守护: 在主进程代码结束情况下,就立即死掉
守护进程本质就是一个子进程,该子进程守护着主进程
为何要用守护进程
守护进程本质就是一个子进程,所以在主进程需要将任务并发执行的时候需要开启子进程
当该子进程执行的任务生命周期伴随主进程整个生命周期的时候,就需要将该子进程做成守护的进程
如何创建守护进程
实例一:
from multiprocessing import Process import os import time def task(x): print('%s is running' %x) time.sleep(3) print('%s is done' % x) if __name__ == '__main__': p1=Process(target=task,args=('守护进程',)) p2=Process(target=task,args=('子进程',)) p1.daemon=True # 必须放到p.start()之前 p1.start() p2.start() print('主') 执行结果: 主 子进程 is running 子进程 is done
实例二:
#主进程代码运行完毕,守护进程就会结束 from multiprocessing import Process from threading import Thread import time def foo(): print(123) time.sleep(1) print("end123") def bar(): print(456) time.sleep(3) print("end456") if __name__ == '__main__': p1=Process(target=foo) p2=Process(target=bar) p1.daemon=True p1.start() p2.start() time.sleep(0.1) print("main-------") 执行结果根据机器不同会出现2种结果: ''' 123 main------- 456 end456 ''' ''' main------- 123 456 end456 '''