screen服务使用解析

一、为什么要使用screen服务

当我们在进行一些常见的远程操作时,通常首先会先进行远程ssh登录 或者telnet连接到远程服务器上,然后执行相关操作,或程序启动等。
1、程序所需的执行时间过长,可能需要挂载几天的那种,可能会自动中断;又可能,如果当前网络不稳定,或者本机出现故障,导致客户端连接服务器失败,命令被迫停止;甚至有可能自己不小心关掉了客户端导致命令被迫停止。

2.在执行文件打包操作时,打包操作的输出信息占满了用户的屏幕界面,如果这时候还想安装某个服务程序,那只好再开一个远程会话的终端。终端开多了自己都分不清每个终端窗口是干什么的了。

3.想共享会话内容
基于以上,我们可以使用screen服务,在程序异常中断后能恢复。

二、安装screen服务

RHEL中并没有默认安装screen服务程序,需要配置YUM仓库来安装它。

yum install screen -y //有了这个-y就不用在安装的过程中输入y了,自动确认

看到Complete!就安装好了

三、使用screen

1、创建会话窗口。创建后生成一个新的shell页面,在这个页面里做的任何操作都能被记录下来

screen -S test //test为会话窗口的名字,任意取

 2、在新生成的shell页面里,我们可以输入要执行的操作,此处以追踪/var/log/messages为例

3、随后我们在新shell页面里按下ctrl+a 再按下d ,退出了screen,但 追踪的任务仍在执行

4.若想再次进入追踪任务,先用screen -ls查看当前用户的screen窗口,19088是会话号,test是会话名,Detached表明该会话没有用户登录,Attached表明有用户登录

5、随后,针对Detached的会话,使用以下命令再次进入

screen -r test //这里的test也可以换成会话号 19088

 针对Attached的会话,想要进入,需要先把目前登录的用户踹掉,再进去

screen -d -r test  //-d能让test先离线,等同于踹掉当前用户

四、测试screen

1、直接把Xshell关掉,模拟忽然的掉线,然后重开Xshell,发现会话依然存在,

screen -r test 恢复会话,发现掉线之前的输出内容一致

问题:比如有个程序在会话里运行,那xshell忽然断了,在断了到重新连接xshell这段时间里程序还在运行不?如果没有运行,是需要恢复会话后再继续运行?还是连接之后就自动运行了?

答:

如果你在 Xshell 中运行了一个程序,并且该程序在一个 Screen 会话中运行,然后 Xshell 连接突然断开,那么这个程序将继续在后台运行,不会因为 Xshell 断开连接而停止。因此程序会持续输出内容,但是由于xshell断了,因此输出的内容不会呈现在xshell的screen会话中,这部分内容会丢失。

当重新连接到 Xshell ,原来的会话也不会自动继续输出信息到 Xshell。需要手动使用 screen -r 命令来重新连接到之前的 Screen 会话,然后会话中的输出才会再次显示在 Xshell 上。所以,使用 screen -r 命令重新连接到之前的 Screen 会话,会发现输出的内容还和xshell断掉时一致。

2、如果想要彻底删除test这个会话,在进入的新的Shell页面ctrl + c 随后输入exit 

这样彻底删掉了test这个会话

五、共享会话

当终端A和终端B以相同用户登录同一个centos系统(或者叫服务器系统),终端A使用下面的指令创建会话

screen -S linux  //linux为会话名

终端B可以通过下面的指令,看到终端A在创建的linux会话中的一切操作.有点像共享屏幕的感觉

screen -x

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

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

相关文章

C++ 仿函数

目录 1、什么是仿函数? 2、仿函数在哪里? 3、如何理解?(很简单很简单) 4、仿函数的价值,应用场景: 1、商品的比较 2、成绩的比较 1、什么是仿函数? 仿函数仿函数,顾名思义就是模仿函数 模…

Linux(ubuntu)—— 用户管理user 用户组group

一、用户 1.1、查看所有用户 cat /etc/passwd 1.2、新增用户 useradd 命令,我这里用的是2.4的命令。 然后,需要设置密码 passwd student 只有root用户才能用passwd命令设置其他用户的密码,普通用户只能够设置自己的密码 二、组 2.1查看…

mybatis-plus报错:Can not find table primary key in Class

TableInfoHelper - [initTableFields,327] - Can not find table primary key in Class: "*.*.User".表里有主键,但是报找不到主键,因为mybatis plus 里面自动匹配主键字段为id 当数据库中的主键不为id时会报出上述错误。 解决: 添加下面代…

基于ROS从零开始构建自主移动机器人:仿真和硬件

书籍:Build Autonomous Mobile Robot from Scratch using ROS:Simulation and Hardware 作者:Rajesh Subramanian 出版:Apress 书籍下载-《基于ROS从零开始构建自主移动机器人:仿真和硬件》您将开始理解自主机器人发…

SQL常见约束及外键约束删除更新行为

一.约束 1.概念 约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的: 保证数据库中数据的正确、有效性和完整性。 3.添加约束两种方式 可以在创建表/修改表的时候添加约束。 在为字段添加约束时,我们只需要在字段之后加…

aic8800 linux

编译方法参考 http://t.csdnimg.cn/epR89 aic8800 源码在 github 里。同样需要 cfg80211 和 mac80211 aic_load_fw/aic_load_fw.ko aic8800_fdrv/aic8800_fdrv.ko都放到放 .ko 的地方 src/USB/driver_fw/drivers/aic8800 就是源码,没有蓝牙的型号不需要aic_btusb …

ip地址与硬件地址的区别是什么

在数字世界的浩瀚海洋中,每一台联网的设备都需要一个独特的标识来确保信息的准确传输。这些标识,我们通常称之为IP地址和硬件地址。虽然它们都是用来识别网络设备的,但各自扮演的角色和所处的层次却大相径庭。虎观代理小二将带您深入了解IP地…

6.k8s中的secrets资源

一、Secret secrets资源,类似于configmap资源,只是secrets资源是用来传递重要的信息的; secret资源就是将value的值使用base64编译后传输,当pod引用secret后,k8s会自动将其base64的编码,反编译回正常的字符…

HTTP/1.1、HTTP/2、HTTP/3 的演变

HTTP/1.1、HTTP/2、HTTP/3 的演变 HTTP/1.1 相比 HTTP/1.0 提高了什么性能?HTTP/2 做了什么优化?HTTP/3 做了哪些优化? HTTP/1.1 相比 HTTP/1.0 提高了什么性能? HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接的…

【Spring】5.Spring事务中的@Transactional注解剖析

事务是确保数据完整性的关键机制。Spring框架通过Transactional注解提供了一种声明式事务管理的方式,极大地简化了事务的使用。在本篇文章中,我们将深入探讨Spring的Transactional注解,包括它的工作原理、可用属性、如何配置以及在嵌套事务场…

再生龙clonezilla使用方法

目录 本文相关内容的介绍服务器窗口重定向引导进入再生龙系统检查本机操作系统的引导模式 再生龙基础功能选择选择 device-image选择ssh_server 网络配置ssh_server 配置ssh_server 镜像存储路径 再生龙抓取操作系统抓取镜像的命名 再生龙恢复操作系统拉取镜像的选择 本文相关内…

【Docker学习】docker checkpoint简单了解

docker checkpoint是一个试验性的功能,旨在用于测试和反馈,未来不确定是否会发生变化或是被删除掉,现有的功能我们可以简单了解了解。 docker checkpoint主要用于管理检查点(CheckPoint)。检查点(CheckPoi…

【16-Ⅰ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

收藏:关于闭包表

参考视频:【IT老齐513】经典树形数据结构-闭包表_哔哩哔哩_bilibili, 这个视频系列的确不错,500多个了。 闭包表,其实就是用来做树形结构的时候,如何快速找到某个节点下的所有后代节点,用两张表去完成&…

【html知识】用html写一个简单的个人网页

介绍&#xff1a; 这是一个HTML和CSS的代码段&#xff0c;它构建了一个基本的个人网页布局。以下是该代码的详细介绍&#xff1a; HTML部分&#xff1a; 文档类型与基础结构&#xff1a;<!DOCTYPE html> 声明了文档类型为HTML5。<html lang"en"> 定义…

设计模式-03 设计模式-依赖倒转原则案例分析

设计模式-03 设计模式-依赖倒转原则案例分析 目录 设计模式-02 设计模式-依赖倒转原则案例分析 1.定义 2.内涵 3.案例对比 4.注意事项 5.最佳实践 6.总结 1.定义 依赖倒转原则&#xff08;Dependency Inversion Principle&#xff0c;简称DIP&#xff09;高层级的模块…

ModuleNotFoundError: No module named ‘pyautogui‘

ModuleNotFoundError: No module named pyautogui 这个错误意味着你的Python环境中没有安装pyautogui这个模块。pyautogui是一个用于程序化地控制鼠标和键盘的Python模块&#xff0c;常常用于自动化任务、GUI测试等场景。 为了解决这个问题&#xff0c;你需要安装pyautogui模块…

Java实现以图识图功能模块(简单案例)

由于完整的以图识图系统代码较长且复杂&#xff0c;这里仅提供使用OpenCV进行特征提取和比较的简化版示例代码。 1. 引入OpenCV Java库 首先&#xff0c;你需要在项目中引入OpenCV的Java库。这通常涉及将OpenCV的jar包添加到项目的类路径中。 2. 提取图像特征 使用OpenCV的…

机器学习实战-聚类算法

聚类算法是一种无监督学习的算法&#xff0c;用于将数据集中的数据分成不同的聚类或组。聚类算法是数据挖掘和机器学习领域中常见的技术之一&#xff0c;具有广泛的应用。 以下是聚类算法的一些知识点&#xff1a; 聚类算法的目的是将数据集划分为不同的组&#xff0c;使得组内…

C++ 矩阵

目录 了解矩阵的数学原理&#xff08;大学线性代数&#xff09; 矩阵及转置矩阵 矩阵乘法 矩阵快速幂 相伴矩阵模板 [相伴矩阵,快速矩阵幂]CSES1722 Fibonacci Numbers 了解矩阵的数学原理&#xff08;大学线性代数&#xff09; 矩阵及转置矩阵 这里A就是一个矩阵&…