【Linux】Screen工具介绍

文章目录

  • 0.Screen简介
  • 1.功能介绍
  • 2.Screen安装
  • 3.基本用法
  • 4.常用快捷键
  • 5.其他有用功能
  • 6.小结

在使用linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session。又比如,在使用linux终端运行程序时,我们需要显示运行,但是连接中断的话程序也会中断,这个时候如果能将程序显示运行于后台就好了。screen命令可以解决这些问题。

0.Screen简介

Screen是一个流行的终端会话管理工具,通常用于在 Linux 和 Unix 系统中。它允许用户在一个单一的终端窗口内,通过对多个虚拟终端会话(称为“窗口”)进行管理,进而运行多任务,并在不同的会话之间切换,即使用户断开连接,进程也能继续运行。screen 工具特别适用于需要长期运行的任务、远程管理和调试等场景。

1.功能介绍

会话管理:用户可以在单一的物理终端上运行多个终端会话,每个会话独立运行,这意味着如果一个会话出错崩溃,其他会话不会受到影响。
会话保持:即使断开网络连接,使用 screen 运行的会话也会保持活动状态。用户可以在连接成功后重新附加到这些会话,这对于需要长时间运行的任务尤其有用。
多窗口:通过 screen,用户可以在一个屏幕上分裂出多个窗口,每个窗口可以运行不同的任务或程序。
快捷键支持:screen 提供了丰富的快捷键支持,使得在不同会话之间切换和管理会话更为高效。
会话共享:多个用户可以同时连接到同一个 screen 会话,实现会话共享,这对于多人协作十分有用。

2.Screen安装

Debian/Ubuntu系统:

sudo apt install screen

CentOS/RHEL系统:

使用 yum 安装(CentOS 7 及之前版本):

sudo yum install screen

使用 dnf 安装(RHEL 8 及之后的版本):

sudo dnf install screen

Fedora系统:

sudo dnf install screen

macOS系统:

可以通过 Homebrew 来安装,确保 Homebrew 已经安装,可以通过终端命令来安装 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew install screen

验证安装

screen --version

3.基本用法

启动一个新的 Screen 会话

screen  ## 启动一个新的 screen 会话,并打开一个新的 shell。

命名一个新的 Screen 会话

screen -S session_name   ##  这将启动一个新的 screen 会话并为其命名,有助于在多个会话之间进行区分。

列出当前所有的 Screen 会话

screen -ls  ## 这会列出所有当前正在运行的 screen 会话。

重新连接到一个已经分离的 Screen 会话

screen -r session_name  ## 使用会话名称 重新连接
screen -r 12345   ## 使用会话 ID 重新连接

分离(Detach)当前会话

在一个 screen 会话中,你可以按下 Ctrl-a 后再按下 d 键,以将当前会话分离回后台。会话仍在后台运行。

Ctrl-a  d  ##  将当前会话分离回后台,会话仍在后台运行

4.常用快捷键

  • Ctrl-a c:创建一个新的窗口并切换到该窗口。
  • Ctrl-a n:切换到下一个窗口。
  • Ctrl-a p:切换到前一个窗口。
  • Ctrl-a d:分离会话,保持后台运行。
  • Ctrl-a k:关闭当前窗口(Kill window)。
  • Ctrl-a 0..9:快速切换到指定编号的窗口。
  • Ctrl-a " ":列出所有窗口,供选择切换。

5.其他有用功能

  • 日志记录:可以通过 Ctrl-a H 启动和停止当前窗口的日志记录,日志文件会被保存在当前目录中。
  • 屏幕分割:可以通过 Ctrl-a S 分割当前窗口,然后使用 Ctrl-a TAB 在各个区域间切换,使用 Ctrl-a X 关闭当前区域。
  • 拷贝模式:使用 Ctrl-a [ 进入拷贝模式,这允许你滚动并查看窗口的输出历史。

6.小结

Screen 为用户提供了优秀的多任务处理和远程会话保持能力。有需求的用户可以根据自己的工作需求来最大化利用 screen 的强大功能,提高工作效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/20129.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32的智能垃圾分类投递系统设计

目录 引言系统需求与设计目标硬件设计 3.1 核心控制模块 3.2 传感器模块 3.3 驱动模块 3.4 显示模块 3.5 通信模块软件设计 4.1 数据采集与处理 4.2 垃圾分类逻辑实现 4.3 状态显示与远程监控代码实现 5.1 数据采集与处理 5.2 分类逻辑与控制 5.3 状态显示与通信 5.4 主程序实…

手摸手6-创建前端应用

目录 手摸手6-创建前端应用简介命令 npm create vue 和 npm init vue3的区别 使用 Create-Vue 创建应用1、输入命令 npm create vue 创建应用2、输入命令 npm install 安装相关依赖3、输入命令 npm run dev 运行项目 项目结构 手摸手6-创建前端应用 简介 create-vue 是 vue 应…

第T8周:Tensorflow实现猫狗识别(1)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: PyCharm 框 架: (二)具体步骤 from absl.l…

【MySQL】数据库基础

1.数据库基本认识 广义上来说数据库是长期存储在磁盘上的数据文件的集合,而MySQL是采用了C/S模式实现的一个网络服务,它由MySQL(数据库客户端) 、MySQLD (数据库服务)、磁盘上的数据库文件组成。MySQL服务是…

AWS IAM

一、介绍 1、简介 AWS Identity and Access Management (IAM) 是 Amazon Web Services 提供的一项服务,用于管理 AWS 资源的访问权限。通过 IAM,可以安全地控制用户、组和角色对 AWS 服务和资源的访问权限。IAM 是 AWS 安全模型的核心组成部分&#xf…

windows C#-异步编程场景(二)

等待多个任务完成 你可能发现自己处于需要并行检索多个数据部分的情况。 Task API 包含两种方法(即 Task.WhenAll 和 Task.WhenAny),这些方法允许你编写在多个后台作业中执行非阻止等待的异步代码。 此示例演示如何为一组 User 捕捉 userId 数据。 private stati…

web——sqliabs靶场——第九关——时间盲注

什么是时间盲注 时间盲注是指基于时间的盲注,也叫延时注入,根据页面的响应时间来判断是否存在注入。 使用sqlmap不同的技术 sqlmap --technique 参数用来设置具体SQL注入技术 B: Boolean-based blind 基于布尔的忙逐步 E:Error-based 报错注入 U&am…

Vue所有图片预加载加上Token请求头信息、图片请求加载鉴权

环境 Vue2、“axios”: “0.18.1”、webpack:“4.46.0”、ant-design-vue: “1.7.8” 描述 项目对安全要求比较高,所有后台返回的图片加载时都要加上token。比如资源图片,拍照打卡的图片,都需要鉴权。如果不带上token参数&…

此电脑中的百度网盘图标无法删除解决方法2024/11/18

教程很详细,直接上步骤 对于这种情况,修改注册表是很麻烦的,眨眼睛在这里推荐这位大佬的开源软件MyComputerManager 点击跳转MyComputerManager下载链接

【模型级联】YOLO-World与SAM2通过文本实现指定目标的零样本分割

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

Postman之变量操作

系列文章目录 Postman之变量操作 1.pm.globals全局变量2.pm.environment环境变量3.pm.collectionVariables集合变量4.pm.variables5.提取数据-设置变量-进行参数化串联使用 postman中分为全局变量、环境变量、集合变量、和普通变量 分别使用pm.globals、pm.environment、pm.co…

linux 常用命令指南(存储分区、存储挂载、docker迁移)

前言:由于目前机器存储空间不够,所以‘斥巨资’加了一块2T的机械硬盘,下面是对linux扩容的一系列操作,包含了磁盘空间的创建、删除;存储挂载;docker迁移;anaconda3迁移等。 一、存储分区 1.1 …

python读取Oracle库并生成API返回Json格式

一、安装必要的库 首先,确保已经安装了以下库: 有网模式 pip install flask pip install gevent pi install cx_Oracle离线模式: 下载地址:https://pypi.org/simple/flask/ # a. Flask Werkzeug-1.0.1-py2.py3-none-any.whl J…

Nature子刊 | 单细胞测序打开发育系统溯源新视角

神经系统是人体最为复杂且最为重要的器官之一。深入理解神经发育对于神经科学研究和再生医学具有举足轻重的作用。但神经元多样性的起源仍是一个亟待解决的难题。日益发展的单细胞测序技术让研究人员们有机会从细胞的异质性入手,对不同细胞类型之间的关联和分化路径…

5G CPE与4G CPE的主要区别有哪些

什么是CPE? CPE是Customer Premise Equipment(客户前置设备)的缩写,也可称为Customer-side Equipment、End-user Equipment或On-premises Equipment。CPE通常指的是位于用户或客户处的网络设备或终端设备,用于连接用户…

新增道路查询最短路径

一、问题描述 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < n - 1&#xff09;。 queries[i] [ui, vi] 表示新建一条从城市 ui 到城市…

【数据结构】链表解析与实战运用(1.8w字超详细解析)

目录 引言 链表概念及结构 链表的优缺点 链表的分类 1.单向或者双向 2.带头或者不带头 3.带循环或者非循环 单链表接口函数的实现 接口函数一览 创建空节点&打印链表 尾部插入 头部插入 尾部删除 头部删除 查找 在pos位置之后插入节点 在pos位置之前插入节…

Python练习31

Python日常练习 题目&#xff1a; 分别输入两个整数以及一个加减乘除中的算术运算符&#xff0c;输出运算结果&#xff0c; 若输入其它运算符&#xff0c;则退出程序; 例如&#xff1a; 输出格式如下 【输入一个整数&#xff1a;】1 【输入另一个整数&#xff1a;】2 …

uniapp 自定义加载组件,全屏加载,局部加载 (微信小程序)

效果图 全屏加载 页面加载使用 局部加载 列表加载里面使用 使用gif html <template><view><view class"" v-if"typeFullScreen"><view class"loading" v-if"show"><view class""><i…

Mac 修改默认jdk版本

当前会话生效 这里演示将 Java 17 版本降低到 Java 8 查看已安装的 Java 版本&#xff1a; 在终端&#xff08;Terminal&#xff09;中运行以下命令&#xff0c;查看已安装的 Java 版本列表 /usr/libexec/java_home -V设置默认 Java 版本&#xff1a; 找到 Java 8 的安装路…