守护进程会在主进程代码执行结束后就终止,但是主进程会等待普通进程结束才正式结束。
import time
from multiprocessing import Process
def func1():
count = 1
while True:
print(f'守护进程运行第{count}s')
time.sleep(1)
count += 1
def func2():
print('普通进程开始')
time.sleep(10)
print('普通进程结束')
if __name__ == '__main__':
# 守护进程会在主进程代码执行结束后就终止,但是主进程会等待普通进程结束才正式结束。
# 注意:代码结束是指代码运行到了最后一行,并不代表进程已经结束了。
p1 = Process(target=func1)
p1.daemon = True
p1.start()
p2 = Process(target=func2)
p2.start()
time.sleep(5)
print('主进程结束')