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/

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

相关推荐
琥珀.8 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu8 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈10 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
slongzhang_11 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮11 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT12 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu12 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
GeW14 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx14 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
father_122715 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum