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

如何在终端中通过PID或程序名终止GPU进程(nvidia-smi示例)

我来分享两种实用的方法解决你的问题,亲测有效:

1. 通过nvidia-smi结合关键词+PID终止GPU进程

步骤非常清晰:

  • 先运行 nvidia-smi 查看所有占用GPU的进程,找到你要终止的进程对应的关键词(比如python)和PID。
  • 要是想批量过滤并终止目标进程,可以用管道命令一步到位:
    nvidia-smi | grep "python" | awk '{print $5}' | xargs kill -9
    
    拆解下各部分作用:
    • nvidia-smi:列出当前GPU的使用情况和关联进程
    • grep "python":过滤出包含python关键词的进程行
    • awk '{print $5}':提取第5列的PID值(小提醒:不同系统/环境下PID所在列可能是第4或第5列,你可以先手动查看nvidia-smi的输出确认列数)
    • xargs kill -9:把提取到的PID作为参数,发送强制终止信号(-9能确保进程被彻底杀死,避免残留)
  • 如果是单个进程,也可以手动记下PID后直接运行:kill -9 <你的PID>,权限不够的话加sudo即可:sudo kill -9 <你的PID>
2. 针对特定程序(如Python)终止GPU进程

除了结合nvidia-smi的方法,还有两种终端命令可选:

方法一:精准定位GPU上的目标进程(推荐)

用nvidia-smi的查询参数直接输出PID和进程名,避免列数变化的问题,更可靠:

nvidia-smi --query-compute-apps=pid,process_name --format=csv,noheader,nounits | grep "python" | awk '{print $1}' | xargs kill -9

方法二:直接终止所有目标程序进程(注意误杀风险)

如果你确定要终止所有正在运行的Python进程(不管是否占用GPU),可以用更简洁的命令:

pkill -9 python

或者:

killall -9 python

⚠️ 注意:这两个命令会终止所有名为python的进程,包括不占用GPU的程序,所以如果有其他重要Python进程在运行,一定要谨慎使用!

针对你的示例:当nvidia-smi显示两个Python进程时,用上面的精准过滤方法就能批量终止它们,之后再运行nvidia-smi就能看到GPU进程被清空的状态了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:28:21