当前位置: 首页 > news >正文

【kill】在容器中使用 nohup 启动 Python 训练脚本后,如何正确停止进程?

​ 在服务器或 Docker 容器中跑深度学习训练时,nohup几乎是标配操作:(可以参考之前写的文章【在容器中运行长时间 Python 任务:SSH 断开也不怕】

nohuppython scripts/frozen_backbone_train.py>logs/frozen_finetune.log2>&1&

​ 但问题也随之而来:这个后台跑起来的 Python 进程,到底该怎么安全、彻底地停掉?

​ 本文结合一次PyTorch 训练 + DataLoader 多进程的真实排查过程,完整记录正确的 kill 思路。

一、先找到真实在跑的进程

​ 第一步永远不是kill -9,而是确认进程结构

psaux|grephomo_with_vit_frozen.py

​ 可能会看到类似输出:

root1652... python frozen_backbone_train.py root2424... python frozen_backbone_train.py root2425... python frozen_backbone_train.py root2426... python frozen_backbone_train.py...

​ 这时候很多人会懵:为什么同一个脚本会有一堆 Python 进程?

二、为什么会有多个 python 进程?

​ 这是PyTorch 非常典型的行为

2.1 主进程(训练主逻辑)

root1652... python frozen_backbone_train.py
  • 负责:模型 forward / backward / optimizer.step
  • 通常:
    • 运行时间很长
    • CPU / GPU 占用明显
  • 这是你真正要 kill 的进程

2.2 子进程(DataLoader workers)

root2424~2431... python frozen_backbone_train.py

​ 这些通常是:

DataLoader(..., num_workers > 0)
  • 拉起的数据加载子进程,特征非常明显:
    • 一次性出现一串
    • PID 连号
    • CPU 占用相近
    • 内存结构几乎一样
  • 结论:多进程 ≠ 多个训练任务,而是一个训练任务 + 多个数据加载 worker

三、正确的 kill 姿势(推荐)

3.1 方式一:只 kill 主进程(最干净)

kill1652
  • 大多数情况下:主进程退出,所有 DataLoader 子进程会被自动回收

  • 如果进程没有立刻退出

    kill-91652

3.2 方式二:直接按脚本名全部清场

  • 当你确认这个脚本已经不需要了,可以直接:

    pkill-9 -f frozen_backbone_train.py
  • -f:匹配完整命令行

  • 会同时 kill 主进程 + 所有子进程

  • 注意:如果你同时跑了多个同名脚本,这一招会“一锅端”。

四、如何确认真的 kill 干净了?

4.1 再查一次进程

psaux|grepfrozen_backbone_train.py

如果只剩下:

grep--color=auto frozen_backbone_train.py

说明进程已经全部退出

4.2 如果使用 GPU,确认显存释放

nvidia-smi
  • 没有 python 占用显存 → OK
  • 有残留 → 继续kill -9 <pid>

五、小结

  • nohup启动的 Python 进程 ≠ 只有一个进程
  • PyTorch 的DataLoader(num_workers > 0)会产生多个子进程
  • 正确做法是:
    • 优先 kill 主进程
    • 或使用pkill -f一次性清理
  • 养成记录 PID 的习惯,可以极大降低维护成本
http://www.jsqmd.com/news/349200/

相关文章:

  • 开题报告 “一次过” 秘籍!虎贲等考 AI:1 小时搞定创新选题 + 规范框架,导师直夸专业
  • LangChain提出Agent工程化的新分层(Agent harness)
  • 宝塔面板安装chemex固定资产管理系统
  • Linux 命令记录与审计技术笔记(Gemini)
  • 基于Spring Boot的汽车维修管理系统设计与实现(开题报告)
  • 从材料到工艺一篇看懂柔性PCB核心逻辑
  • 好写作AI:精准润色:提升论文学术表达——你的私人学术表达健身房
  • 2026年BIM运维平台最新推荐,聚焦高端定制需求与全案交付能力 - 品牌鉴赏师
  • 一键部署UI-TARS-desktop:解放双手的AI助手
  • 基于情感增强机制的大语言模型虚假新闻检测
  • 朝阳宠物寄养哪家比较专业正规?朝阳宠物寄服务好条件好的基地名单(2026年新版) - 品牌2025
  • Qwen2.5-VL-7B-Instruct入门指南:无需Python基础,浏览器操作完成全部视觉任务
  • Win11安装WSL2
  • 2026年湖南靠谱的防滑泳池漆盘点,倍克朗泳池专用漆口碑良好 - myqiye
  • 32、合并pdf
  • java+vue基于springboot高尔夫球场管理系统的设计与实现_xw0k572c
  • 为什么局域网ssh连接的@后面不能用localhost要用ip4呢192.168.1.11这种
  • 2.3 数据恢复神技:四种方案实现数据快速找回
  • 总结2026年哈尔滨好用的汽车音响升级公司,汽车音响改装升级服务推荐 - mypinpai
  • 什么牌子软骨素好 2026氨糖软骨素白皮书TOP10榜单出炉|关节养护怎么选?这10款实测有效 - 博客万
  • 话费充值卡可以变现吗?回收流程详解与注意事项一览 - 团团收购物卡回收
  • 2026年北京排名靠前的写字楼出租公司,盈都大厦等招租价格盘点 - 工业设备
  • 2026年艺术涂料厂家推荐及选购参考,艺术涂料招商/艺术涂料加盟/艺术涂料代理加盟/艺术涂料批发加盟/艺术涂料招商加盟 - 品牌策略师
  • 2026年深聊去屑洗发水,女士去屑洗发水牌子哪家好 - mypinpai
  • 2.4 水平扩展实战:支撑亿级数据的分库分表策略
  • 鞍山胜诉率高的律师有哪些,口碑情况如何 - 工业品网
  • 分析2026年常州聚氨酯异形垫块批量加工费用怎么算 - 工业品牌热点
  • 2026年通州宠物训练哪家好?通州专业正规的宠物训练基地精选 - 品牌2025
  • linux 内核核心初始化
  • 2026年湖南的金刚砂耐磨材料工厂排名,靠谱厂家全分享 - 工业推荐榜