You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下使用loky.ProcessPoolExecutor时残留进程无法终止的问题

解决loky.ProcessPoolExecutor在Windows下残留额外进程的问题

那个额外残留的进程是loky的资源跟踪器(ResourceTracker),负责清理子进程创建的临时文件和系统资源,默认情况下它会在后台持续运行直到Python解释器退出。要非强制终止它,可以通过以下方法:

方法:显式关闭资源跟踪器

在调用pool.shutdown(kill_workers=True)之后,直接调用资源跟踪器的shutdown()方法,代码示例:

import loky
import time
from loky.process_executor import _resource_tracker

def f():
    time.sleep(10)
    return 0

if __name__ == "__main__":
    pool = loky.ProcessPoolExecutor(3)
    task = pool.submit(f)
    task.result()
    # 关闭进程池
    pool.shutdown(kill_workers=True)
    # 关闭资源跟踪进程
    _resource_tracker.shutdown()

说明

  • ResourceTracker是loky为跨平台资源管理设计的组件,Windows系统下无法像Linux那样依赖内核自动清理临时资源,因此需要单独的进程来处理。
  • 调用_resource_tracker.shutdown()会优雅终止该进程,不需要使用os.kill这类强制手段。
  • 注意:_resource_tracker属于loky的内部API,未来版本可能会有接口变动,使用时需留意loky的版本兼容性。

内容的提问来源于stack exchange,提问作者S R Maiti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:15:42