当前位置: 首页 > news >正文

【Linux】screen


文章目录

  • 一、screen
  • 二、功能
  • 三、使用
    • 3.1 安装
    • 3.2 常用参数
    • 3.3 状态
    • 3.4 使用
      • 3.4.1 终端列表
      • 3.4.2 新建screen
      • 3.4.3 detached
      • 3.4.4 回到终端
      • 3.4.5 清除终端


一、screen

screen为多视窗管理程序。在服务器上搭建一些服务的时候,经常要用到screen命令。例如某些服务开启时需要占据一整个控制台,如果关闭了就会导致进程终止。此时就可使用screen来在服务器上开启多个视窗(screen),以容纳运行不同的任务。

二、功能

screen的功能大体分为三个:

  • 会话恢复
    • 只要screen服务没有被停止,则在其内部运行的会话都可以恢复
    • 即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制,只要再次登录到主机上执行screen -r就可以恢复会话
    • 在暂时离开的时候,也可执行分离命令detach,保证里面的程序正常运行的情况下让screen挂起
  • 多窗口
    • 在screen环境下,所有的会话都独立运行,拥有各自的编号、输入、输出和窗口缓存
    • 用户可通过快捷键在不同的窗口下切换,并可自由地重定向各个窗口的输入和输出
  • 会话共享
    • screen可让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性

三、使用

3.1 安装

[root@server ~]# yum install -y screen
[root@server ~]# screen -v
Screen version 4.01.00devel (GNU) 2-May-06

3.2 常用参数

-A             Adapt all windows to the new display width & height.
-d <作业名称>   将指定的screen作业离线放入后台
-h <行数>       指定视窗的缓冲区行数
-r <作业名称>   恢复离线的screen作业
-R             先试图恢复离线的作业,若找不到离线的作业,则建立新的screen作业
-s             指定建立新screen时所要执行的shell  Shell to execute rather than $SHELL
-S <作业名称>  指定screen作业的名称 Name this session <pid>.sockname instead of <pid>.<tty>.<host>
-ls or --list  显示目前所有的screen作业
-wipe          检查目前所有的screen作业,并删除已经无法使用的作用

3.3 状态

通常情况,screen创建的虚拟终端,有两个工作模式:

  • attached,表示当前screen正在作为主终端使用,为活跃状态
  • detached,表示当前screen正在后台使用,为非激活状态

3.4 使用

3.4.1 终端列表

[root@server ~]# screen -ls
No Sockets found in /var/run/screen/S-root.[root@server ~]# 

3.4.2 新建screen

[root@server ~]# screen -S hello# pid.name
[root@server ~]# screen -ls
There is a screen on:6359.hello      (Attached)
1 Socket in /var/run/screen/S-root.

3.4.3 detached

# 在screen会话内,按Ctrl + a + d,即可保持这个screen到后台并返回到主终端
[detached from 6359.hello]# 状态已发生变化 -> Detached
[root@server ~]# screen -ls
There is a screen on:6359.hello      (Detached)
1 Socket in /var/run/screen/S-root.

3.4.4 回到终端

通过-r参数回到指定screen终端,其内容仍是之前返回主终端前的内容。

[root@server ~]# screen -r hello
[root@server ~]# screen -ls
There is a screen on:6359.hello      (Attached)
1 Socket in /var/run/screen/S-root.[root@server ~]# 

3.4.5 清除终端

可在终端内直接键入exit或使用按键Ctrl + D,便可清除掉当前终端。

[screen is terminating]
[root@server ~]# screen -ls
No Sockets found in /var/run/screen/S-root.

参考:
screen命令


相关文章:

  • Django多个app配置多个域名访问
  • Linux之前后端项目部署与发布
  • 数据增加
  • 无需邀请码,Xinstall实现精准分享归因
  • 【QT+QGIS跨平台编译】之五十三:【QGIS_CORE跨平台编译】—【qgssqlstatementparser.cpp生成】
  • 单细胞Seurat - 降维与细胞标记(4)
  • Java集合相关面试题(2024大厂高频面试题系列)
  • Dataframe学习笔记:记录一下工作上使用的几种示例
  • kafka学习笔记四(面试题)
  • QML中动态表格修改数据
  • SpringSecurity入门demo(四)权限校验
  • SpringMVC 学习(七)之报文信息转换器 HttpMessageConverter
  • python difflib --- 计算差异的辅助工具
  • 华为OD技术面试案例6-2024年
  • golang 装饰器模式详解
  • Apache Spark Streaming 使用实例
  • Git学习与使用心得(1)—— 初始化
  • HashMap ConcurrentHashMap
  • JavaScript设计模式系列一:工厂模式
  • java第三方包学习之lombok
  • JAVA多线程机制解析-volatilesynchronized
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python_网络编程
  • windows-nginx-https-本地配置
  • 测试开发系类之接口自动化测试
  • 初识MongoDB分片
  • 聚簇索引和非聚簇索引
  • 深入浅出webpack学习(1)--核心概念
  • 我的zsh配置, 2019最新方案
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 一起参Ember.js讨论、问答社区。
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • %check_box% in rails :coditions={:has_many , :through}
  • (bean配置类的注解开发)学习Spring的第十三天
  • (多级缓存)缓存同步
  • (六)c52学习之旅-独立按键
  • (实战篇)如何缓存数据
  • (一)Dubbo快速入门、介绍、使用
  • (转)人的集合论——移山之道
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ***利用Ms05002溢出找“肉鸡
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .Net环境下的缓存技术介绍
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET命令行(CLI)常用命令
  • /boot 内存空间不够
  • ??在JSP中,java和JavaScript如何交互?
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [BUUCTF 2018]Online Tool(特详解)
  • [Dxperience.8.*]报表预览控件PrintControl设置