# 子进程 -- > 守护进程
import time
from multiprocessing import Process
def func():
while True:
time.sleep(0.2)
print('我还活着')
def func2():
print('in func2 start')
time.sleep(8)
print('in func2 finished')
if __name__ == '__main__':
p = Process(target=func)
p.daemon = True # 设置子进程为守护进程
p.start()
p2 = Process(target=func2)
p2.start()
p2.terminate() # 结束一个子进程
time.sleep(1)
print(p2.is_alive()) # 检验一个进程是否还活着
print(p2.name)
# i = 0
# while i<5:
# print('我是socket server')
# time.sleep(1)
# i+=1
# 守护进程 会 随着 主进程的代码执行完毕 而 结束
# 在主进程内结束一个子进程 p.terminate()
# 结束一个进程不是在执行方法之后立即生效,需要一个操作系统响应的过程
# 检验一个进程是否活着的状态 p.is_alive()
# p.name p.pid 这个进程的名字和进程号
# 多进程代码
# from multiprocessing import Process
# 方法
# 进程对象.start() 开启一个子进程
# 进程对象.join() 感知一个子进程的结束
# 进程对象.terminate() 结束一个子进程
# 进程对象.is_alive() 查看某个子进程是否还在运行
# 属性
# 进程对象.name 进程名
# 进程对象.pid 进程号
# 进程对象.daemon 值为True的时候,表示新的子进程是一个守护进程
# 守护进程 随着主进程代码的执行结束而结束
# 一定在start之前设置
# from multiprocessing import Lock
# l = Lock()
# l.acquire() # 拿钥匙
# 会造成数据不安全的操作
# l.release() # 还钥匙
守护进程
最新推荐文章于 2021-06-30 20:35:57 发布