栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python pathos模块多进程池无法完全退出

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python pathos模块多进程池无法完全退出

最近正在改进自己写的一个web服务器,因为Python的多线程是假多线程,就使用了多进程。

写了这么一个Worker用于在进程中开启线程(不知道有没有用,但是服务器本地延迟还是那么高)


还用了一个Manager的值对象控制进程的停止,在主进程使用一个循环判断是否接受到关闭信号。
但是当主进程想要退出时却发送控制台虽然关闭但进程依旧在后台运行的情况:

并且会弹出错误框。之后尝试了各种方法,但是只能达到子进程关闭主进程无法关闭的情况。

解决:


在进程池使用close以及join方法而不使用get以使得进程可以被python终止。

分析:

由于进程池没有关闭与堵塞,导致Python回收时无法通过

pathos.multiprocessing.ProcessPool.terminate(obj)

这个方法进行关闭子进程。
并且主进程因为循环没有接受到错误以及关闭信号(pathos无法跳出错误,会重新开启子进程)而导致主进程无法终止。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号