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/

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

相关推荐
何陈陈1 分钟前
【Linux】线程池
linux·服务器·开发语言·c++
S hh3 分钟前
【Linux 】文件描述符fd、重定向、缓冲区(超详解)
linux·运维·服务器
DuoRuaiMiFa3 分钟前
Linux系统性能调优实战指南
linux
憧憬一下5 分钟前
线程池的实现和讲解:解决多线程并发服务器创建销毁线程消耗过大的问题
linux·线程池·c/c++·嵌入式linux
朝九晚五ฺ1 小时前
【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门
linux·运维·学习
肥or胖1 小时前
【MySQL】索引
linux·数据库·mysql
卓琢2 小时前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
一切皆是定数3 小时前
Linux驱动开发——LED驱动开发
linux·驱动开发·b树
小小不董3 小时前
图文深入理解Oracle DB Scheduler
linux·运维·服务器·数据库·oracle
不烦下雨c4 小时前
[网络]抓包工具介绍 tcpdump
linux·tcpdump