如何查看 Linux 下正在运行的 Python 程序是哪一个

如何查看 Linux 下正在运行的 Python 程序是哪一个

在服务器上训练模型或者跑推理,经常会遇到一个典型问题:某个 GPU、某个 CPU 已经被占用,但是不知道是哪段 Python 在跑。想 kill,想知道它在跑什么文件,都不知道从哪找。

Linux 下最常用的思路只有两步:一,找 PID;二,通过 PID 把它启动时的命令行完整还原出来。

找到 PID

可以直接用 ps 去过滤 python

bash 复制代码
ps aux | grep python

ps aux 解释:

ps:process status(进程状态)

a:显示所有用户的进程(all users)

u:以 user 的方式显示字段(会显示 USER / START / %MEM 等)

x:显示没有 tty 的进程(daemon / nohup / 后台也能显示)

grep python 就是把输出中包含 python 的行筛选出来(注意不要把自身 grep 的行当成目标)

也可以用 top 交互式查看

bash 复制代码
top

找到 python 那一行,例如 PID = 21566

通过 PID 取出它的完整命令行

第一种更人类阅读的方式:

bash 复制代码
ps -p 21566 -o cmd

它会告诉你当时这段 python 是用什么命令启动的,例如:

复制代码
python train.py --data coco.yaml --epoch 300

ps -p 解释:只显示指定 PID

-o cmd:o=output,输出字段,这里只要 cmd(启动命令)

第二种更底层的方式:

bash 复制代码
cat /proc/21566/cmdline | tr '\0' ' '

/proc/PID/cmdline 是内核暴露出来的实际启动命令(参数之间用 0 字节分隔)

tr 是 translate,将 0字节替换成空格,从而变成可读文本。

总结

流程记一个:

1 找 PID → ps aux | grep pythontop

2 用 PID 取命令 → ps -p PID -o cmdcat /proc/PID/cmdline | tr '\0' ' '

无论是自己正在跑训练,还是别人占用了 GPU,只要有 PID,就能完全知道它在跑哪一个 python 文件,用了哪些参数,在干什么。

这两步是排查"到底是哪一段 python 正在运行"的最标准方法,建议记住。

相关推荐
工藤学编程1 天前
零基础学AI大模型之LangChain智能体执行引擎AgentExecutor
人工智能·langchain
图生生1 天前
基于AI的商品场景图批量生成方案,助力电商大促效率翻倍
人工智能·ai
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
yugi9878381 天前
用于图像分类的EMAP:概念、实现与工具支持
人工智能·计算机视觉·分类
码农小韩1 天前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
aigcapi1 天前
AI搜索排名提升:GEO优化如何成为企业增长新引擎
人工智能
Joren的学习记录1 天前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
彼岸花开了吗1 天前
构建AI智能体:八十、SVD知识整理与降维:从数据混沌到语义秩序的智能转换
人工智能·python·llm
MM_MS1 天前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
韩师傅1 天前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端