screen会话

screen会话
foresta.yang在Linux和类Unix系统中,screen
命令是一个非常强大的终端复用器,它允许用户在一个单一的物理终端上启动多个会话,并在它们之间进行切换。使用screen
,你可以在一个会话中运行程序,然后断开连接,之后又重新连接到同一个会话,程序会继续运行。
以下是一些基本的screen
命令和选项:
screen
:启动一个新的screen会话。screen -S <session_name>
:创建一个名为<session_name>
的新会话。screen -r <session_name>
:重新连接到名为<session_name>
的会话。screen -r -D <session_name>
:重新连接到会话,如果会话不存在,则创建它。screen -ls
:列出所有现有的screen会话。screen -x <session_name>
:将当前终端窗口附加到指定的会话。Ctrl-A D
:从当前会话中分离,即使会话中有活动的程序,它们也会继续运行。Ctrl-A \
:切换到下一个会话。Ctrl-A Ctrl-A
:切换回之前的会话。
screen
还支持多个窗口(通过Ctrl-A S
创建),标签页(通过Ctrl-A Tab
切换),以及复制和粘贴文本等功能。这些功能使得screen
成为远程服务器管理和长时间运行程序的理想工具。
请注意,screen
的默认快捷键前缀是Ctrl-A
,但这个前缀可以被配置为其他组合键,以避免与终端模拟器的快捷键冲突。
我们在命令行执行模型的训练或者其他工作时, 常常需要挂起程序很长时间, 这中间窗口关闭会影响程序的执行. 使用screen可以方便的管理多个命令行工作流, 而不必担心彼此的影响. 这里简单介绍一下最常用的几个命令.
1. 启动新的screen会话:
# 创建名为name的会话
screen -S name
# 创建一个会话, 系统自动命名(形如:XXXX.pts-53.ubuntu)
screen
2. 退出当前screen会话:
按:Ctrl+a, 再按:d, 即可退出screen, 此时,程序仍在后台执行;
3. 查看当前已有的screen会话:
输入:screen -ls;
4. 进入某个会话:
输入:screen -r 程序进程ID, 返回程序执行进程;
5. 窗口操作:
Ctrl+a+w: 展示当前会话中的所有窗口;
Ctrl+a+c: 创建新窗口;
Ctrl+a+n: 切换至下一个窗口;
Ctrl+a+p: 切换至上一个窗口;
Ctrl+a+num: 切换至编号为num的窗口;
Ctrl+a+k: 杀死当前窗口;
6. 删除某个会话:
screen -S your_screen_name -X quit
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果