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/

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

相关推荐
IT 乔峰10 小时前
linux部署DHCP服务端
linux·运维·网络
Hy行者勇哥10 小时前
Linux 系统搭建桌面级云端办公 APP(从快捷方式到自定义应用)
linux·运维·服务器
python百炼成钢11 小时前
52.Linux PWM子系统
linux·运维·服务器·驱动开发
CheungChunChiu11 小时前
Linux 总线模型与 bind/unbind 完整解析
linux·ubuntu·sys·bind/unbind
可可苏饼干11 小时前
ELK(Elastic Stack)日志采集与分析
linux·运维·笔记·elk
大柏怎么被偷了11 小时前
【Git】基本操作
linux·运维·git
小女孩真可爱11 小时前
大模型学习记录(八)---------RAG评估
linux·人工智能·python
我在人间贩卖青春11 小时前
查看文件相关命令
linux·查看文件
番茄你个西红411 小时前
安装KingbaseES时服务器swap的设置
linux·数据库
python百炼成钢12 小时前
50.linux_USB驱动
linux·运维·服务器·驱动开发