from multiprocessing import Process
import time
def run():
time.sleep(1)
def run2():
pass
cnt = 0
while True:
#目的清空僵尸进程
prss = Process(target=run2)
prss.start()
prss.join()
#执行批量任务,一般都是数据库一个sql查询,如果有记录就同时开启子进程执行
#以下for循环执行并发执行10个任务1秒后 会产生10个 僵尸进程,等待10秒后会被清空
if cnt == 0:
for x in range(10):
prss = Process(target=run)
prss.start()
#这个地方不能加join,加了的话就没有办法每隔10秒检查是否有新的任务了
cnt = cnt +1
#每10秒遍历一次是否有新的任务
time.sleep(10)
python 多进程 清空僵尸进程
于 2022-01-21 09:38:52 首次发布