☰
Screen and tmux三步上手
2026/10/22 17:10:16 网站建设 项目流程

好的,这是给同事的简洁版说明:


Screen 三步上手

  1. 开新窗口:干活前先开个带名字的窗口,不怕断连。
screen-S任务名
  1. 看所有窗口:随时查看都有哪些任务在后台跑。
screen-ls
  1. 重回窗口:断连后重新登录,用这个名字就能接回去。
screen-r任务名

如何退出?
在窗口里直接输入exit或按Ctrl+D即可关闭(任务会终止)。
想只断开连接让任务继续?按Ctrl+A然后按D。

在使用screen时,如果出现了两个同名的窗口(通常是因为之前意外断开导致产生了多个会话),仅仅使用screen -r 任务名可能会报错,提示你“There are several suitable screens on…”。

这时候你需要通过进程 ID (PID)来精确删除。以下是操作步骤:


第一步:查看完整信息

首先,运行screen -ls。你会看到类似下面的输出:

There are screens on:12345.my_task(Detached)67890.my_task(Detached)2Socketsin/run/screen/S-user.

这里的12345和67890就是PID。


第二步:确认要删除哪一个

如果你进入了其中一个窗口,发现不是你要的那个,你可以直接在那个窗口里输入exit退出并销毁它。

但如果你现在处于主终端(外层),想直接删掉那个多余的,有两种常用方法:

方法 A:在后台强制关闭(最推荐)

如果你确定67890是多余的,直接运行:

screen-X-S67890quit
  • -X: 向指定会话发送命令。
  • -S: 指定 PID。
  • quit: 告诉该窗口关闭。
方法 B:先进入再退出
  1. 使用 PID 进入那个窗口:
screen-r67890
  1. 进入后,输入exit或按下快捷键Ctrl + D。这样该窗口就会被彻底关闭并删除。

总结提示

  • 重名怎么办?永远使用开头的数字(PID)代替名字来操作,这样绝对不会出错。
  • 清理死掉的窗口:如果窗口显示为(Dead),可以使用screen -wipe自动清理。

需要我帮你写一个自动清理同名窗口、只保留最新一个的脚本吗?

当然可以!tmux是screen的现代替代品,功能更强大、配置更灵活。下面是用tmux实现与你提供的screen三步操作完全对应的操作方式:


✅ tmux 三步上手(对应 screen 的用法)

1️⃣ 开新会话(带名字):干活前先开个带名字的会话,不怕断连
tmux new-s任务名

示例:tmux new -s coding
进入后你就在一个持久化的终端会话中了,即使 SSH 断开,任务也会继续运行。


2️⃣ 查看所有会话:随时查看有哪些任务在后台跑
tmuxls

输出示例:

coding: 1 windows (created Mon Jun 10 10:00:00 2024) download: 2 windows (created Mon Jun 10 09:30:00 2024)

3️⃣ 重回会话:断连后重新登录,用名字接回去
tmux attach-t任务名

或简写为:

tmux a-t任务名

示例:tmux a -t coding


❓ 如何退出?

  • 想关闭会话并终止所有任务?
    在 tmux 会话中直接输入:

    exit

    或按Ctrl+D(当 shell 退出时,tmux 会话也会关闭)。

  • 只想断开连接(detach),让任务继续后台运行?
    按下组合键:
    Ctrl+B然后按D

    注意:tmux 默认前缀键是Ctrl+B(screen 是Ctrl+A),你可以后续通过配置改成Ctrl+A。


🔧 小贴士(可选)

  • 如果你习惯screen的Ctrl+A前缀,可以在~/.tmux.conf中添加:

    set-gprefix C-a unbind C-bbindC-a send-prefix

    然后重载配置:tmux source-file ~/.tmux.conf

  • tmux还支持多窗口(Ctrl+B c)、多面板(Ctrl+B %或")、复制模式等高级功能,比screen更强大。


✅ 总结对照表:

功能screen 命令tmux 命令
新建命名会话screen -S 名字tmux new -s 名字
列出所有会话screen -lstmux ls
重新连接会话screen -r 名字tmux attach -t 名字
detach(后台运行)Ctrl+A→DCtrl+B→D
退出并关闭会话exit或Ctrl+Dexit或Ctrl+D

现在你可以放心用tmux替代screen啦!💪加粗样式

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询