一、简述
- 正常情况下,如果主进程代码执行完成,但是子进程还没有执行完成,则程序还不会退出,而是继续等待子进程。
- 当要实现子进程要随主进程结束而结束时就可以设置守护进程。
- 设置守护进程的方式是在start()之前设置 daemon = True
二、多进程实现服务器状态监控
import time
from multiprocessing import Process
def func():
while True:
print('服务器状态正常')
time.sleep(0.5)
if __name__ =='__main__':
i = 0
while i < 10:
p = Process(target=func)
p.daemon = True
p.start()
i +=1
time.sleep(1)
print(p.is_alive()) #检验一个进程是否还活着
-
p.terminate()
是终止一个进程,该代码执行后进程不是立刻结束,CPU还有一个调度的过程此时用p.is_alive()
检查发现结果为True,time.sleep()
一秒后再用p.is_alive()
检查会发现结果为False。