Skip to content

守护进程

SSH 断开时程序会被终止,使用守护进程可让程序在后台持续运行。

方式对比

方式特点推荐场景
JupyterLab 终端最简单,无需安装快速测试
Screen轻量,易上手日常训练
Tmux功能丰富多窗口管理

JupyterLab 终端

通过 JupyterLab 终端执行程序,关闭标签页后仍在后台运行。

bash
python train.py > train.log 2>&1

Screen

安装

bash
apt update && apt install -y screen

常用操作

操作命令
创建会话screen -U -S train
离开会话Ctrl+A+D
查看会话screen -ls
恢复会话screen -U -r train
关闭会话Ctrl+D(需先停止程序)

中文乱码

优先使用 screen -U 以 UTF-8 模式启动会话,通常可以避免中文乱码:

bash
screen -U -S train

如果仍有乱码,可继续追加以下配置:

bash
echo "defencoding GBK" >> ~/.screenrc
echo "encoding UTF-8 GBK" >> ~/.screenrc

Tmux

安装

bash
apt update && apt install -y tmux

常用操作

操作命令
创建会话tmux new -s train
离开会话Ctrl+B 然后 D
查看会话tmux ls
恢复会话tmux attach -t train
关闭会话tmux kill-session -t train

最佳实践

bash
# 带时间戳的日志
python train.py > ./logs/train_$(date +%Y%m%d_%H%M%S).log 2>&1

建议

  • 调试阶段用 VSCode/PyCharm 直接执行
  • 正式训练务必使用守护进程
  • 日志输出到文件便于查看

相关文档

智算无疆 川流不息