news 2026/4/16 15:42:23

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【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 的习惯,可以极大降低维护成本
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:20:12

领域知识注入:利用企业私有数据增强模型专业能力

通用大模型&#xff08;General LLM&#xff09;像是一个博学的本科生&#xff0c;什么都懂一点&#xff0c;但都不精。企业的核心诉求&#xff0c;往往是将其培养成某个垂直领域&#xff08;如法律、医疗、金融&#xff09;的博士生。这不仅需要让模型学会“怎么说话”&#x…

作者头像 李华
网站建设 2026/4/6 1:55:43

2.1 主从延迟终极解决方案:让你的备库实时同步

2.1 主从延迟终极解决方案:让你的备库实时同步 📚 学习目标 通过本节学习,你将掌握: ✅ 备库延迟的根本原因和诊断方法 ✅ 并行复制、半同步复制等优化技术 ✅ 主从复制的参数调优和最佳实践 ✅ 备库延迟监控和预警体系搭建 ✅ 极端情况下的备库加速方案 🎯 学习收获 …

作者头像 李华
网站建设 2026/3/26 3:20:55

为什么局域网ssh连接的@后面不能用localhost要用ip4呢192.168.1.11这种

局域网SSH连接为何使用IP而非localhostlocalhost与IP地址的本质区别 localhost是环回地址&#xff08;默认127.0.0.1&#xff09;&#xff0c;仅指向本机。在SSH连接中&#xff0c;使用localhost意味着尝试连接到自身&#xff0c;无法访问同一局域网内的其他设备。而192.168.1.…

作者头像 李华
网站建设 2026/4/16 15:18:05

从材料到工艺一篇看懂柔性PCB核心逻辑

在折叠屏手机、智能手表、蓝牙耳机这些轻薄设备里&#xff0c;藏着另一种 “黑科技”——FPC 电路板&#xff0c;也就是柔性印制电路板。它能弯曲、折叠、扭曲&#xff0c;像塑料薄膜一样柔软&#xff0c;却能实现复杂的电路连接。FPC 的 “灵魂” 在于材料选择&#xff0c;这是…

作者头像 李华
网站建设 2026/4/16 14:39:56

科研党收藏!9个一键生成论文工具深度测评:专科生毕业论文+开题报告写作神器推荐

对于专科生来说&#xff0c;毕业论文和开题报告的撰写往往是一项既耗时又复杂的任务。面对繁杂的文献资料、格式要求以及内容逻辑的梳理&#xff0c;许多同学常常感到无从下手。而随着AI技术的不断进步&#xff0c;越来越多的写作工具开始涌现&#xff0c;为学术写作提供了全新…

作者头像 李华
网站建设 2026/4/16 14:48:36

神经形态安全危机:对抗脉冲注入的威胁与测试新范式

脉冲神经网络&#xff08;SNN&#xff09;凭借事件驱动和低功耗特性&#xff0c;正重塑边缘计算与医疗设备领域&#xff0c;但其动态时空编码机制面临新型对抗攻击——脉冲注入的严峻威胁。攻击者通过微调脉冲时序或密度&#xff0c;可篡改神经元膜电位累积过程&#xff0c;导致…

作者头像 李华