首页 > 解决方案 > 在python多进程下重新启动子进程

问题描述

如果子进程由于某种原因退出,我正在尝试找到一种方法来重新启动子进程。我看到的大多数方法似乎都相当复杂。我最终使用了下面的代码,它似乎正在工作。只是想知道这是否是一种合理的方法。

import multiprocessing as mp
import time

def nopr(n,l):

    k=0

    while k<l:
        print (n, k)
        k +=1
        time.sleep(1)

p1= mp.Process()
p2= mp.Process()

while True:
    if not p1.is_alive():
        p1 = mp.Process(target =  nopr,  args=(1,50))
        p1.start()

    if not p2.is_alive():
        p2 = mp.Process(target =  nopr,  args=(2,10))
        p2.start()

    time.sleep(1)

p1.join()
p2.join() 

标签: python-multiprocessingchild-processrestart

解决方案


推荐阅读