Python 下Process新开进程无法有效kill()

做个多现场AI训练工程,涉及到主程序创建多个子进程a,每个子进程a会创建子进程b。

主程序在杀死子进程a时并不会完全杀死子进程a的子代,导致程序阻塞。

因此,需要对子进程a的所有子代进行遍历并杀死掉

process=None

def test_process():
    process = subprocess.Popen(cmd_list, shell=False, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    ...


def thread1_create():
    process=multiprocessing.Process(target=test_process)
    process.daemon=True
    process.start()
    process.join()


def thread2_kill():
    global process
    parent = psutil.Process(process.pid)
    for child in parent.children(recursive=True):
        child.terminate()
        child.kill()

                   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值