如何查看 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 正在运行"的最标准方法,建议记住。

相关推荐
历程里程碑11 小时前
滑动窗口----滑动窗口最大值
javascript·数据结构·python·算法·排序算法·哈希算法·散列表
码农三叔11 小时前
(7-3-02)电机与执行器系统:驱动器开发与控制接口(2)实时通信总线设计+33自由度人形机器人的双信道EtherCAT主设备架构
人工智能·机器人·人形机器人
shangjian00711 小时前
AI-大语言模型LLM-概念术语-Causal LM
人工智能·语言模型·自然语言处理
心语星光11 小时前
用python语言的pyautogui库实现伪批量将xdf文件打印为pdf文件
开发语言·python·pdf·自动化
才盛智能科技11 小时前
元K:自助KTV行业AI生态领航者
大数据·人工智能·物联网·自助ktv系统·才盛云自助ktv系统
shangjian00711 小时前
AI-大语言模型LLM-模型微调2-BitFit微调
人工智能·语言模型·自然语言处理
掘根11 小时前
【C++ AI大模型接入SDK项目】项目背景,项目介绍,环境准备
人工智能
七夜zippoe11 小时前
Kubernetes与Python微服务编排实战:从基础部署到自动扩缩容
python·微服务·kubernetes·service·hpa
玄同76511 小时前
LangChain v1.0 中间件深度解析:从 Callback 到 Middleware 的演进
人工智能·语言模型·自然语言处理·中间件·langchain·agent·智能体
小毅&Nora11 小时前
【人工智能】【大模型】从厨房到实验室:解密LLaMA架构如何重塑大模型世界
人工智能·架构·llama