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

Python multiprocessing库进程无输出问题求助

问题解决:multiprocessing进程无输出的原因及修复

你的代码在Windows环境下运行会出现无输出的情况,核心原因有两个:

  1. Windows系统中,multiprocessing启动子进程时会重新导入主脚本文件,如果没有入口保护,会导致子进程重复执行代码逻辑,甚至引发错误。
  2. 主进程启动子进程后立即退出,没有等待子进程完成输出就终止了,所以终端看不到内容。

修正后的代码:

import multiprocessing as mp

def foo():
    print("hello")

if __name__ == '__main__':
    task = mp.Process(target=foo)
    task.start()
    task.join()  # 等待子进程执行完毕

关键说明:

  • if __name__ == '__main__':这是Windows下使用multiprocessing的必要保护,避免子进程重复执行整个脚本的代码。
  • task.join():让主进程等待子进程执行完成后再退出,确保子进程的输出能被捕获并显示。

如果是在Linux/macOS环境下,虽然不需要强制的入口保护,但添加join()同样能保证主进程等待子进程输出,避免因主进程提前退出导致的无输出问题。

内容的提问来源于stack exchange,提问作者farshadarbab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:27:06