python - 无法使用 ProcessPoolExecutor 杀死子进程?
问题描述
from concurrent.futures import ProcessPoolExecutor
import time
def foo(num):
time.sleep(0.5)
print(num)
if __name__ == "__main__":
while True:
with ProcessPoolExecutor(max_workers=8) as exe:
exe.map(foo, range(1,4))
我正在尝试使用 module ProcessPoolExecutor
。并且在主进程启动一段时间后,我想使用 linux kill 命令杀死该进程kill -9 main_process_pid
。然后我发现只有主进程被杀死,但子进程仍然活跃。
user 41502 41004 5 16:16 pts/202 00:00:00 python demo.py
user 42009 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42010 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42011 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42012 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42013 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42015 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42025 41502 0 16:16 pts/202 00:00:00 python demo.py
user 42026 41502 0 16:16 pts/202 00:00:00 python demo.py
在我跑之后 kill -9 41502
,它变成了
user 45109 1 0 16:17 pts/202 00:00:00 python demo.py
user 45110 1 0 16:17 pts/202 00:00:00 python demo.py
user 45111 1 0 16:17 pts/202 00:00:00 python demo.py
user 45112 1 0 16:17 pts/202 00:00:00 python demo.py
user 45113 1 0 16:17 pts/202 00:00:00 python demo.py
user 45114 1 0 16:17 pts/202 00:00:00 python demo.py
user 45115 1 0 16:17 pts/202 00:00:00 python demo.py
user 45116 1 0 16:17 pts/202 00:00:00 python demo.py
在关闭主进程时我应该怎么做才能杀死所有子进程?
解决方案
推荐阅读
- r - 我无法在 R 中制作 Work RandomForest。它给了我关于 NA 和预测器长度的错误
- discord.js - avatarURL 和 displayAvatarURL 在我的机器人不和谐 javascript 上不起作用
- react-native - NativeBase:在手风琴内渲染组件
- javascript - 组合两个 angularFire(实时数据库)列表对象以形成一个新的 observable
- php - 在 Laravel 中将多个列属性分组到一个嵌套对象中
- python - Jupyter 中没有显示 nbextensions
- python - 使用 python 将 3d 向量表示为 2 个基向量的组合
- pug - 如何使用 Jade 控制脚本块内的内容?
- python - 难以从 Ctypes 返回浮点数
- python - 有没有办法指定 QuTiP 的 parallel_map 应该迭代哪个参数?