【Linux】Screen的使用:新建、退出、再登陆

Linux screen 命令详解与使用指南

在Linux系统中,screen 是允许用户在单个终端会话中运行多个进程,并能在会话之间切换。

适用情况:screen 特别适用于远程登录(如通过SSH)时,确保即使网络连接断开,正在运行的任务也不会中断。本文将详细介绍 screen 的安装、基本用法和常见技巧。

1. 安装 screen

在大多数Linux发行版中,screen 都包含在默认的软件库中。可以通过包管理器安装它:

Debian/Ubuntu
sudo apt-get install screen
Red Hat/CentOS
sudo yum install screen
Fedora
sudo dnf install screen
Arch Linux
sudo pacman -S screen

2. 用法

2.1、screen创建会话

创建一个具有指定名称的 screen 会话,方便管理和识别,启动后,你会看到一个新的终端会话,并且可以在其中运行任何命令。

screen -S my_session
2.2、离开会话 (Detach状态)

在 screen 会话中,可以使用快捷键  Ctrl+A+D  离开当前会话。分离会话后,可以安全地退出SSH或关闭终端,正在运行的任务不会中断。

2.3、连接会话 
2.3.1、连接会话 【Reattach状态的screen】

列出所有会话:screen -ls

输出示例:
There is a screen on:3969263.fastapi (2024年09月27日 08时43分52秒)   (Detached)
1 Socket in /run/screen/S-username.

使用 screen -r 命令重新连接到指定的会话:screen -r  3969263   或者  screen -r  fastapi

2.3.2、连接会话状【Attached状态的screen】
screen -D  -r your_screen_name  # 解释:-D -r 先踢掉前一用户,再登陆

2.4、切换会话

在一个 screen 会话中,可以创建多个窗口,并在它们之间切换:

  • 创建新窗口:Ctrl-a c
  • 切换到下一个窗口:Ctrl-a n
  • 切换到上一个窗口:Ctrl-a p
  • 列出所有窗口:Ctrl-a "

2.5、共享会话

screen 允许多个用户共享一个会话,这对于协作调试和教学非常有用:

  1. 启动共享会话:

    screen -S shared_session
    
  2. 启用多用户模式:

    Ctrl-a :multiuser on
    
  3. 添加用户权限:

    Ctrl-a :acladd username
    

另一个用户可以通过以下命令加入共享会话:

screen -x username/shared_session
2.6、日志记录

screen 可以将会话中的输出记录到文件:

  1. 启动日志记录:

    Ctrl-a H
    
  2. 停止日志记录:

    Ctrl-a H
    

日志文件将保存在当前用户的主目录下,默认文件名为 screenlog.0

2.7、删除screen
2.7.1、在screen中执行Ctrl+D删除

Ctrl+D  # 在当前screen下,输入Ctrl+D,删除该screen
Ctrl+A,Ctrl+D  # 在当前screen下,输入先后Ctrl+A,Ctrl+D,退出该screen
 

2.7.2、未进入screen的执行删除

# 删除指定screen, your_screen_name为待删除的screen name
screen -S your_screen_name -X quit

2.8、判断当前是否在screen下

# 判断当前是否在screen中断下,Ubuntu系统,可以这样:
sudo vim /etc/screenrc
# 文件末尾追加一行即可允许设置screen标题
caption always "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%H %Y/%m/%d "
 

2.9、快捷键

screen 提供了一系列快捷键,使得在会话中的操作更加便捷:

  • Ctrl-a c:创建新窗口
  • Ctrl-a n:切换到下一个窗口
  • Ctrl-a p:切换到上一个窗口
  • Ctrl-a d:分离会话
  • Ctrl-a ":列出所有窗口
  • Ctrl-a 0-9:切换到指定编号的窗口
  • Ctrl-a k:关闭当前窗口
  • Ctrl-a A:重命名当前窗口

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产化ERP是什么?与SAP相比有何优势所在?

前段时间和一个工厂老板聊起来,他正为公司的 ERP 系统发愁呢。他们企业现在用的系统有点跟不上发展节奏了,在考虑换新的。但到底是继续选国际大牌 SAP 呢,还是试试国产化的 ERP 呢?这可真是个难题。这也不是他一家企业的困扰&…

如何通过钢筋计来优化施工安全

在现代建筑工程中,施工安全一直是首要关注的问题。特别是在高层建筑、桥梁和地下工程等复杂结构中,确保钢筋的正确安装和稳定性能,直接关系到工程的整体安全性和耐久性。钢筋计作为一种专门用于测量和监测钢筋应力和应变的设备,其…

使用node+prisma+socket+vue3实现一个群聊功能,拓展功能:使用lottie实现入场动画

使用nodeprisma和vue3实现一个群聊功能 后端代码编写 node环境初始化 新建一个空文件夹node,初始化node环境 npm init -y修改 packages.json,添加 type 为 module,删除 main {"name": "node","version": …

【C语言复习】分支和循环

【C语言复习】分支和循环 1. if语句1.1 if1.2 else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题 2.关系操作符3. 条件操作符4.逻辑操作符:&& 、|| 、!4.1 逻辑取反运算符4.2 与运算符4.3或运算符4.4 练习:闰年的判断4.5短路 5.switch 语句5.1…

python爬虫 - 进阶正则表达式

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 (一)匹配单个中文字符 (二…

Java项目实战II基于Java+Spring Boot+MySQL的服装销售平台(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今数字…

uniapp-小程序开发0-1笔记大全

uniapp官网: https://uniapp.dcloud.net.cn/tutorial/syntax-js.html uniapp插件市场: https://ext.dcloud.net.cn/ uviewui类库: https://www.uviewui.com/ 柱状、扇形、仪表盘库: https://www.ucharts.cn/v2/#/ CSS样式&…

硬件开发笔记(三十一):TPS54331电源设计(四):PCB布板12V转5V电路、12V转3.0V和12V转4V电路

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142757509 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

ansible 流程控制

目录 1.流程控制 2.handlers触发器 2.1使用handlers案例 3.when 判断 3.1 案例1 用于给task设置条件 满足或者不满足运行对应模块 3.2 案例2 如果系统是centos则安装sl,cowsay 如果是unbantu则安装cmatrix 4.循环 4.1案例 1.流程控制 hand…

Git客户端使用之TortoiseGit和Git

git客户端有两个分别是TortoiseGit和Git Git用于命令行TortoiseGit用于图形界面。无论是Git还是TortoisGit都需要生成公/私钥与github/gitlab建立加密才能使用。 一、先介绍Git的安装与使用 1、下载与安装 安装Git-2.21.0-64-bit.exe(去官网下载最新版64位的),安…

SpringMVC2~~~

目录 数据格式化 基本数据类型可以和字符串自动转换 特殊数据类型和字符串间的转换 验证及国际化 自定义验证错误信息 细节 数据类型转换校验核心类DataBinder 工作机制 取消某个属性的绑定 中文乱码处理 处理json和HttpMessageConverter 处理Json-ResponseBody 处理…

Python精选200Tips:186-190

针对序列(时间、文本)数据的网络结构 续 P186-- 双向LSTM(Bidirectional Long Short-Term Memory 2005)(1)模型结构说明(2)创新性说明(3)示例代码:IMDB电影评论情感分析 …

通义灵码 Visual Studio 下载安装指南(附安装包)

文章目录 前言一、下载和安装指南方法 1:从插件市场安装方法 2:下载安装包安装方法 3:登录并开启智能编码之旅 二、使用指南总结 前言 通义灵码是基于通义大模型的智能编程辅助工具,它提供了多种强大的功能,旨在助力开…

【ProtoBuf】基础使用与编译

文章目录 ProtoBuf的使用基本使用指定proto3语法package声明符定义消息(message)定义消息字段字段唯一编号 编译序列化与反序列化序列化与反序列化使用 ProtoBuf的使用 流程如下: 编写 .proto文件,定义结构对象(message)及属性内容使用 protoc 编译器编…

[Halcon矩阵] 通过手眼标定矩阵计算相机旋转角度

📢博客主页:https://loewen.blog.csdn.net📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢本文由 丶布布原创,首发于 CSDN,转载注明出处🙉📢现…

GS-SLAM论文阅读笔记-MGSO

前言 MGSO首字母缩略词是直接稀疏里程计(DSO),我们建立的光度SLAM系统和高斯飞溅(GS)的混合。这应该是第一个前端用DSO的高斯SLAM,不知道这个系统的组合能不能打得过ORB-SLAM3,以及对DSO会做出怎么样的改进以适应高斯地图,接下来…

一次性语音芯片:重塑语音识别技术,引领智能化生活新时代

随着一次性语音芯片的突破性进展,语音识别技术正融入我们生活的方方面面,引领着智能化生活迈向一个全新的时代。这些芯片不仅体积小巧、成本低廉,更在性能上实现了质的飞跃,能够更精确地捕捉并理解人类语音。本文将解读关于一次性…

Crypto虐狗记---”你“和小鱼(五)

前言:剧情五 提示: 一种食物? 一种食物——培根:(A B 也暗示是培根加密) cyberpeace{attackanddefenceworldisinteresting} 密码学笔记——培根密码 - ILK - 博客园 (cnblogs.com)

Appium Device Farm安装教程

环境要求:Appium version ≥ 2.4.X 安装appium npm install -g appium2.11.3 如果安装提示如下问题 npm error code EEXIST npm error syscall rename npm error path /Users/wan/.npm/_cacache/tmp/d5787519 npm error dest /Users/wan/.npm/_cacache/content-…

Android一个APP里面最少有几个线程

Android一个APP里面最少有几个线程 参考 https://www.jianshu.com/p/92bff8d6282f https://www.jianshu.com/p/8a820d93c6aa 线程查看 Android一个进程里面最少包含5个线程,分别为: main线程(主线程)FinalizerDaemon线程 终结者守护线程…