FinalShell界面左侧为什么能够监测系统指标动态变化的原理

news/2024/10/31 3:20:36/

前言:

我们可以看出FinalShell是用Java写的,具体怎么看出来的,不能光看界面logo是Java的logo,还要进它的安装目录下进行查看是否真是用Java编写的!!!

具体查看如下:

查看finalshell的安装路径:

 

 上面红框的就是安装后的路径!!!C:\Users\10501\AppData\Local\finalshell

这个不就是Java的运行时环境嘛!!!

正题: 

FinalShell界面左侧为什么能够监测系统指标动态变化的原理:

我们在使用FinalShell的时候,登录成功linux操作系统后,左侧会出现动态的监测数据的展示,那是为什么它能做出来呢?到底是怎么做到的呢?下面我就给大家剖析一下!!!

首先先看一下我说的情况,如下图所示:

下面开始分析:

pstree命令查看进程树:

 为什么会有top、sleep、sftp-server进程呢,我什么都没有启动,top命令我也没有运行,为什么会出现呢,咱接着往下看。

ps aux | grep bash来进行过滤出bash进程的显示:

 上图可以看出有几个命令:

free

df

sleep 1

cat /proc/net/dev

这些都是看系统监控指标的,当然sleep 1不是哈!!!

我们可以复制那块指令,运行一下 :

 这个是一次命令集执行结果,但是为什么每次ps aux | grep bash的时候都会显示呢????

查看多次命令展示:

 一直显示就是左侧动态展示的原理:

下面用python展示ssh实现动态系统指标展示的原理:

# ---encoding:utf-8---
# @Time    : 2023/6/5 19:31
# @Author  : CBAiotAigc
# @Email   :1050100468@qq.com
# @Site    : 
# @File    : python实现ssh连接;解密finalshell左侧监测数据动态变换的原理.py
# @Project : NLP
# @Software: PyCharm
import paramiko
import timedef ssh_cmds():ssh = paramiko.SSHClient()# 设置校验ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接登录ssh.connect("192.168.56.100", 22, "aigc", "root")# 执行命令while True:stdin, stdout, stderr = ssh.exec_command('bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo aigc_finalshell_separator;uptime;echo aigc_finalshell_separator;cat /proc/net/dev;echo aigc_finalshell_separator;df;echo aigc_finalshell_separator;sleep 1;free;echo aigc_finalshell_separator;uptime;echo aigc_finalshell_separator;cat /proc/net/dev;echo aigc_finalshell_separator;df;echo aigc_finalshell_separator;')exec_cmd_result = stdout.read()print(exec_cmd_result.decode("utf-8"))if __name__ == '__main__':ssh_cmds()

运行结果:

 这样就一直不停的拿到了指标的结果!

再次运行起上面的代码,然后在finalshell里查看ps aux | grep bash:

上面的命令执行结果,第一个是finalshell发送远程ssh连接执行的结果,第二个红框是我的python代码连接ssh运行命令的结果。

这样就达到了目的!!!


http://www.ppmy.cn/news/292777.html

相关文章

插件化技术

插件化技术 一.概述二.原理三.好处四.插件化涉及到的技术以及常用的插件化框架五.详细说明1.第一个问题:类加载(1)Android 项目中,动态加载技术按照加载的可执行文件的不同大致可以分为两种:(2)…

Pull Request完整过程【记一次给antvis:G6的PR】

文章目录 前言Bug 重现问题排查解决方案old versionnew version收到回复 PR提交完整过程fork仓库 & clone代码仓添加upstreamfetch 新分支创建新分支完成修改(注意commit规范)push到个人仓库创建Pull Request填写PR信息 前言 G6正在进行v4到v5的版本…

linux基础命令系列之10 分钟掌握 ln 命令:创建链接,软链接,硬链接,递归链接,打印详细输出

文章目录 前言一. ln命令介绍二. 语法格式及常用选项三. 参考案例3.1 ln命令创建硬链接3.1.1 创建硬链接3.1.2 源文件被删除,不影响链接文件的正常使用3.1.3 硬链接不能跨分区创建 3.2 为什么目录刚刚创建的时候,链接数为23.3 ln -s 软链接的创建3.3.1 l…

高性能计算与AI融合成为刚需|什么是高性能计算?应用领域有哪些?与人工智能的关系梳理

本文一部分转载自杨净 整理自 MEET2023量子位 算力的需求,远比以往来得更为猛烈。甚至有人直呼:得算力者得未来。 元宇宙、AIGC、AI for Science的涌现,又给高性能计算(HPC)平添了好几把火。 在诸多挑战与机遇共存交…

Talend 用Jave 处理数据转换

Talend可以使用Java代码来处理数据转换。以下是一个简单的例子: 假设你有一个包含以下列的CSV文件: Name,Age,Gender John,25,Male Jane,30,Female 你需要将它转换为以下格式: {"records": [{"name": "John"…

【华为OD机试真题 C语言】3、 路灯照明问题 | 机试真题+思路参考+代码解析

文章目录 一、题目🎃题目描述🎃输入输出🎃样例1🎃样例2 二、思路参考三、代码参考🏆C语言 作者:KJ.JK 🍂个人博客首页: KJ.JK 🍂专栏介绍: 华为OD机试真题汇…

戴尔在哪看计算机的显卡,戴尔电脑显卡天梯图,2018dell电脑显卡天梯图新版

下载吧为大家带来2018戴尔电脑显卡天梯图新版(更新至2018年3月)。大家根据自己的戴尔电脑的具体硬件配置,看自己自己的电脑中显卡型号,然后对照下面的新的dell电脑显卡天梯图,显卡性能排行榜就可以知道自己的显示目前的性能排名,如…

【华为OD机试真题 C语言】1、滑动窗口最大值 | 机试真题+思路参考+代码解析

文章目录 一、题目🎃题目描述🎃输入输出🎃样例1 二、思路参考三、代码参考🏆C语言代码 作者:KJ.JK 🍂个人博客首页: KJ.JK 🍂专栏介绍: 华为OD机试真题汇总&#xff0c…