【Linux】screen 命令创建会话 保持后台运行完整指南2026年最新实用版适用于 CentOS / Ubuntu / Debian / Rocky 等主流发行版screen是 Linux 最经典的终端多路复用器核心价值就是即使 SSH 断开、网络波动、关掉终端里面的程序也能继续在后台运行随时重新连上恢复远超nohup 的体验。一、安装 screen如果没有# Ubuntu / Debiansudoaptupdatesudoaptinstallscreen# CentOS / Rocky / AlmaLinux / Fedorasudodnfinstallscreen# 或 yum install screen老系统# Arch / Manjarosudopacman -Sscreen安装后输入screen --version确认当前主流版本 4.9.x 或更高。二、最常用 / 最推荐的 5 分钟上手流程创建带名字的会话强烈推荐命名便于管理多个任务screen-S mytask# 创建名为 mytask 的会话# 或者直接带命令启动推荐用于长期任务screen-S train python train.py --epochs100进入后你会看到一个新终端左下角通常显示[screen 0: bash]或类似。在里面跑你的程序随便跑训练模型、爬虫、下载、ffmpeg 转码、tail -f 日志 等。程序启动后别急着关终端。分离会话 → 放到后台运行核心操作按键组合Ctrl a先按住 Ctrl 再按 a然后都松开再按d屏幕显示[detached from 12345.mytask]→ 这时你已经安全回到原终端程序还在后台跑即使你直接exit退出 SSH 也没事。查看所有 screen 会话screen-ls示例输出There are screens on: 12345.mytask (Detached) 67890.download (Detached) 2 Sockets in /run/screen/S-user.Detached后台运行中我们想要的Attached当前有人连着重新连回会话随时恢复screen-r mytask# 按名字恢复推荐# 或screen-r12345# 按 ID 恢复当名字重复时用恢复后你会看到程序还在继续运行输出还在滚动。彻底退出会话任务完成后在 screen 里面输入exit或按Ctrl d看到[screen is terminating]说明会话已关闭进程也停止。三、常用组合速查表背下来用得最多操作命令 / 快捷键说明创建命名会话screen -S 名字最常用方式创建并直接跑命令screen -S 名字 yourcmd一条命令启动后台任务分离后台运行Ctrl a然后d核心快捷键断网也不怕查看所有会话screen -ls列出 Attached / Detached 状态恢复指定会话screen -r 名字或ID重新连上强制 detach 别人会话screen -d 名字如果被别人 attach 了先踢掉再 -r强制 detach 并恢复screen -d -r 名字一键抢回会话常用完全退出当前会话exit或Ctrl d关闭 screen里面进程也停止在会话里新建窗口Ctrl a然后c像 tmux 一样开新标签切换窗口Ctrl a然后n/pnext / previous杀掉某个会话不进入screen -S 名字 -X quit远程杀死后台会话四、进阶实用场景示例后台跑训练 / 推理断线不怕screen-S llm-finetune# 进入后python finetune.py --model llama3 --data ./dataset# 跑起来后 Ctrla d 分离# 断开 SSH 也没事明天再连sshuserserverscreen-r llm-finetune# 继续看进度后台下载大文件screen-S big-downloadwget-c https://hugefile.tar.gz Ctrla d后台跑服务 / 脚本循环screen-S monitorbash-cwhile true; do ./check.sh; sleep 60; done五、常见问题 注意2026 年最新为什么我 screen -r 报错 “There is no screen to be resumed”→ 用screen -ls先看有没有名字/ID 是否正确。多个同名会话怎么办→ 用 ID 恢复screen -r 12345.pts-0.serverscreen 里中文乱码→ 确保服务器 locale 是 UTF-8export LANGen_US.UTF-8或zh_CN.UTF-8然后重进 screen。screen vs tmux vs nohupscreen简单、轻量、历史悠久几乎所有服务器都有tmux更现代、分屏强、配置灵活推荐新手学 tmuxnohup最原始只能防挂起不能恢复终端输出→ 轻量任务用 screen重度管理用 tmux。screen 默认不记录滚动历史→ 进入会话后Ctrl a然后Esc进入 copy 模式用上下箭头翻看历史按Esc退出。掌握 screen 后你的远程任务再也不会因为网络抖动而中断了。你现在是用 screen 跑什么任务训练模型爬数据部署服务还是单纯想防 SSH 掉线告诉我具体场景我可以给你更精确的命令组合或 tmux 替代方案。