Linux无法同时监视多个应用?用screen轻松解决

前言

前几天将项目部署到服务器时,遇到这么个需求:需要在屏幕上显示项目运行情况,同时要实时查看内存等资源的使用情况,还要查看实时的网络情况。

在此之前,上述程序都是在后台运行,当需要查看时才会调出来查看,一来一去怪麻烦的,后面找了一款工具,完美解决这个问题---------screen

screen的作用

screen最简单直接的作用就是可以像Windows一样同时打开并监视多个终端窗口,同时方便管理各个窗口。

使用screen前:

使用screen后:

如何使用screen

  • 通常,screen已经预装在大多数Linux发行版中。以下是CentOS 系统中源码安装操作命令(当然也可以使用别的方式下载):
bash 复制代码
wget https://ftp.gnu.org/gnu/screen/screen-4.8.0.tar.gz
mkdir build && cd build 
../configure
make 
make install
  • screen的创建和查看
arduino 复制代码
screen             //创建一个screen
screen -S yourname //创建一个名称为yourname的screen
screen -ls         //查看所有screen
screen -x          //进入一个最近打开的状态为attached的screen(关于状态下文会有相关解析)
screen -x yourname //进入名称为yourname,状态为attached的screen
screen -r          //进入一个最近打开的状态为detached的screen
screen -r yourname //进入名称为yourname,状态为detached的screen
screen -d          //将最近一个状态为attached的screen状态更改为detached
screen -d yourname //将名称为yourname,状态为detached的screen状态更改为detached
  • screen 的状态

Attached:前台运行,通俗来说就是可以在屏幕上看到

Detached:后台运行,可以理解为Windows里的最小化,程序并没有停止运行

  • 进入screen后的常用命令

刚进入screen中会进入命令模式,命令模式中的命令都是以Ctrl + a(同时按下)开头,以下简记为C-a

css 复制代码
C-a ?	//显示所有键绑定信息

C-a c	//创建一个新的运行shell的虚拟终端窗口并切换到该虚拟终端窗口
C-a n	//切换到下一个虚拟终端窗口
C-a p	//切换到前一个虚拟终端窗口(与C-a n相对)
C-a C-a	//切换到之前显示的虚拟终端窗口
C-a 0..9  //切换到虚拟终端窗口(0..9)
C-a w	//显示所有虚拟终端窗口列表

C-a S     //水平分屏
C-a |     //垂直分屏
C-a tab   //切换分屏

C-a k	//杀掉当前虚拟终端窗口
C-a a	//发送 C-a到当前虚拟终端窗口
C-a [	//进入拷贝/回滚模式
  • screen的退出和关闭
c 复制代码
C-a d	//暂时断开screen会话(会将该screen状态变成detached)
exit    //直接关闭该screen会话

使用中曾遇到的问题

  1. 没有注意到screen会话的状态问题,用了错误的命令进入screen会话
  2. Ctrl + a需要同时按下,分开按没有效果

结语

若是觉得以上这些常用命令仍不能解决问题,可以到官网查看相关文档:https://www.gnu.org/software/screen/manual/

以上便是我在使用中总结出来的一点经验,大家若有其他想法和疑问可以发到评论区,若是对你有帮助,麻烦点个赞吧!

相关推荐
crabdave1233 分钟前
解决helm Doris重启后由于root密码修改导致加入集群不成功的问题
linux·运维·服务器
程序员JerrySUN36 分钟前
深入理解Linux DRM显示子系统:架构、实战项目与关键问题全解析
linux·运维·服务器·面试·职场和发展·架构
꧁༺朝花夕逝༻꧂41 分钟前
docker详细操作--未完待续
linux·nginx·docker·shell
藥瓿亭1 小时前
K8S认证|CKS题库+答案| 8. 沙箱运行容器 gVisor
linux·运维·docker·云原生·容器·kubernetes·cks
Watink Cpper1 小时前
[灵感源于算法] 算法问题的优雅解法
linux·开发语言·数据结构·c++·算法·leetcode
执笔为剑2 小时前
Linux系统部署KES
linux·运维·服务器
xrkhy2 小时前
Linux系统的CentOS7发行版安装MySQL80
linux·mysql·centos
Johny_Zhao2 小时前
基于CentOS Stream 8的物联网数据采集与展示方案
linux·网络·python·mqtt·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维
段帅龙呀2 小时前
Ubuntu系统复制(U盘-电脑硬盘)
linux·ubuntu
bcxwz6693 小时前
linux 下常用变更-8
linux·运维·服务器