Linux screen后台运行任务

当你在 Linux 上跑一个耗时几小时的备份或数据处理脚本,最怕 SSH 一断任务就没了。
screen 就是用来解决这个问题的:它创建一个虚拟终端会话,即使你退出登录,里面的任务依然在后台跑。
下面从零开始,一步步教你用 screen 让长时间脚本稳稳运行。

先确认系统里有没有 screen

大多数 Linux 发行版默认没装 screen,先检查一下。

screen --version

如果提示 command not found,按你的系统安装:

  • Debian/Ubuntu:sudo apt update && sudo apt install screen -y
  • CentOS/RHEL:sudo yum install screen -y
  • AlmaLinux/Rocky:sudo dnf install screen -y

装完再次执行 screen --version,能看到版本号就说明可用了。
这一步是整个流程的前提,没有 screen 后面都无从谈起。

创建会话并让脚本跑起来

核心操作只有三步:新建会话、运行命令、分离会话。

  1. 新建一个名为 backup 的会话:
screen -S backup

执行后终端看起来没变化,但你已经进入了一个新的虚拟窗口。

  1. 在里面正常启动你的脚本,例如:
bash /home/user/long_task.sh
  1. 按下 Ctrl + A,松开后再按 D。这时屏幕会提示 [detached],表示会话已退到后台,脚本继续运行。

以后要重新查看,执行:

screen -r backup

如果记不住会话名,用 screen -ls 列出所有会话,再用 screen -r 会话ID 恢复。只要会话没被主动 kill,里面的进程就不会因为终端关闭而终止。

断网或误关终端后怎么恢复

SSH 断开后重新登录,先看会话还在不在:

screen -ls

输出里会显示类似 12345.backup (Detached) 的行。
状态是 Detached 说明脚本仍在后台跑。

恢复命令:

screen -r 12345

如果提示 There is no screen to be resumed,可能是会话已结束,或者你用了错误的会话名。
此时用 screen -ls 确认实际存在的会话。

还有一种情况:会话状态显示 Attached,通常是因为另一个终端还连着。
可以强制接管:

screen -d -r 12345

几个容易踩的坑

  • 不要在 screen 里再套 screen,容易出现按键冲突,恢复时不知道进的是哪一层。
  • 脚本输出太多会占满磁盘,建议在脚本里重定向日志,例如 bash long_task.sh > /var/log/task.log 2>&1
  • 直接关终端不等于安全退出,务必用 Ctrl + A 然后 D 分离,而不是直接叉掉窗口。
  • 服务器重启后 screen 会话会丢失,如果需要开机自启,要配合 systemd 或 cron,screen 本身不负责这个。
  • 多人共用账号时注意会话命名,用 screen -S 项目名 避免互相干扰。

怎么确认任务真的在跑

分离会话后,可以这样验证:

screen -ls
ps aux | grep long_task.sh

screen -ls 能看到会话存在,ps aux 能看到脚本进程,两者都正常就说明任务没断。
如果想看实时输出,恢复会话即可。

任务跑完后,在 screen 窗口里输入 exit,或者按 Ctrl + A 再按 K 然后确认,会话就会关闭。

常见疑问

screen 和 nohup 有什么区别?

nohup 适合一次性命令,输出重定向到文件;
screen 更适合需要交互或中途查看输出的长时间任务,恢复后能继续操作。

screen 会话能保持多久?

只要服务器不重启、会话不被手动结束,就可以一直保持。
具体时长取决于系统资源和是否有清理策略,建议以实际环境为准。

能不能在 screen 里跑图形界面程序?

可以,但通常需要配合 X11 转发,纯命令行脚本用不到。

如果 screen 命令突然没反应怎么办?

先尝试 Ctrl + A 然后 D 分离,再重新 screen -r 恢复。
如果还是卡住,用 screen -ls 找到会话 ID 后 screen -X -S 会话ID quit 强制结束。

掌握 screen 后,长时间脚本不中断就不再是难题。
建议先在测试环境跑一遍完整流程,确认恢复和验证步骤都符合预期,再放到生产环境使用。

分享到:
上一篇
Linux rsync同步,网站文件异地备份工具
下一篇
Linux journalctl日志查看
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意