守护进程
SSH 断开时程序会被终止,使用守护进程可让程序在后台持续运行。
方式对比
| 方式 | 特点 | 推荐场景 |
|---|---|---|
| JupyterLab 终端 | 最简单,无需安装 | 快速测试 |
| Screen | 轻量,易上手 | 日常训练 |
| Tmux | 功能丰富 | 多窗口管理 |
JupyterLab 终端
通过 JupyterLab 终端执行程序,关闭标签页后仍在后台运行。
bash
python train.py > train.log 2>&1Screen
安装
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" >> ~/.screenrcTmux
安装
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相关文档
- JupyterLab - 网页端开发环境
- Linux 基础命令 - 日志查看等操作
- 性能优化 - 训练加速技巧
