工具-screen-管理终端会话(服务器长时间运行任务)

screen 是一个用于管理多个终端会话的实用工具,常用于在单个终端窗口中运行多个虚拟终端。它允许用户在一个终端窗口中分离和重新连接会话,非常适合在远程服务器上工作或长时间运行任务时使用。


主要功能

1.会话管理:

可以创建多个虚拟终端会话,并在这些会话之间切换。

即使断开与服务器的连接,会话仍会在后台运行。

2.会话分离与恢复:

可以分离(detach)当前会话,稍后重新连接(reattach)到同一个会话。

非常适合在远程工作时保持任务运行。

3.多窗口支持:

可以在一个 screen 会话中创建多个窗口,并在这些窗口之间切换。

4.会话共享:

允许多个用户同时连接到同一个 screen 会话,适合协作工作。

5.日志记录:

可以将终端输出保存到日志文件中。


常用命令

  1. 启动一个新的 screen 会话:

    复制代码
    screen

    这会创建一个新的会话并进入其中。

  2. 创建命名会话:

    复制代码
    screen -S session_name

    可以为会话指定一个名称,方便后续管理。

  3. 分离当前会话 :

    按下 Ctrl + A,然后按 D(Detach)。

    或者使用命令:

    复制代码
    screen -d
  4. 列出所有会话:

    复制代码
    screen -ls

    这会显示所有正在运行的 screen 会话。

  5. 重新连接到会话:

    复制代码
    screen -r session_name_or_pid

    通过会话名称或进程 ID 重新连接到会话。

  6. 创建新窗口 :

    按下 Ctrl + A,然后按 C(Create)。

  7. 切换窗口 :

    按下 Ctrl + A,然后按 N(Next)或 P(Previous)。

  8. 结束当前会话 :

    在会话中输入 exit 或按下 Ctrl + D。

  9. 日志记录 :

    按下 Ctrl + A,然后按 H 开始记录日志。日志会保存到当前目录下的 screenlog.x 文件中。


示例场景

1.远程服务器任务:

在远程服务器上启动一个长时间运行的任务(如编译或数据处理)。

使用 screen 启动会话,分离会话后断开连接。

稍后重新连接并恢复会话,查看任务进度。

2.多任务管理:

在一个终端中创建多个窗口,分别运行不同的任务(如开发、测试、日志监控等)。

3.协作工作:

多个用户连接到同一个 screen 会话,实时协作。

相关推荐
万联WANFLOW5 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
SDWAN_Cheap5 小时前
物理服务器跟云服务器有什么区别,使用于什么场景
运维·服务器
Smoothcloud润云5 小时前
GPU算力平台推荐:复现实验时,如何判断租用资源是否合适?
服务器·人工智能·深度学习·gpu算力·gpu
锋行天下6 小时前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
jktantan6 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
计算机魔术师6 小时前
Anthropic官方插件被「寄生」,背后是同一类攻击又来了
前端
我命由我123457 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
叼烟扛炮7 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
key_3_feng7 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
福建佰胜张工7 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化