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

Python中终止multiprocessing启动的playsound进程后音频仍播放

问题原因解析

在Ubuntu 22.04环境里,playsound模块底层是靠外部音频播放进程(比如GStreamer相关组件或ffplay)来实际播放音频的。你用multiprocessing.Process启动的只是运行playsound函数的Python子进程,这个子进程的作用只是调用外部工具启动播放,真正负责出声的是和Python进程完全独立的外部进程。

当你执行p.terminate()时,你只终止了那个运行playsound的Python子进程,但已经启动的外部音频进程不会跟着终止——它不受Python进程的管控,所以音频会一直播放到文件结束。

至于启动进程后立刻执行terminate()音频不播放,是因为此时playsound还没来得及完成外部播放进程的启动,自然就没有声音输出。

额外说明

playsound的跨平台实现差异很大:Windows下它直接调用系统API,终止Python进程会连带停止播放;但Linux下依赖外部工具,就会出现这种“Python进程停了,音频还在响”的情况,这也是你参考的方案在你的环境里失效的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:57:14