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

news2024/11/28 21:47:32

前言:

我们可以看出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 time


def 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.coloradmin.cn/o/626554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131122772 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

如何规划和执行安全测试

如何规划和执行安全测试 在现代软件开发中,安全测试已经成为一个必不可少的环节。在完成软件开发后,需要对应用程序进行安全测试,以确保其可以在生产环境中正常运行并能够抵御各种安全攻击和漏洞。 如何规划和执行安全测试是一个重要的问题&a…

Microsoft Excel中HYPERLINK函数的6个用途

Excel 在工具栏中提供了自己的内置链接功能。但 HYPERLINK 功能可以让你做更多的事情,比如公司内部网上的工作簿链接、共享服务器、其他驱动器,甚至 Word 文档中的书签。让我们来看看使用这个多功能功能可以做的一切。 HYPERLINK函数的6个用途 链接到电子表格中的单元格链接到…

概率论:方差、标准差、协方差、皮尔逊相关系数、线性相关

方差和标准差: 一个随机变量,的值的变化程度可以用方差计算: ;其中 是期望。 我们举个例子: 服从均一分布,取值为0.1,0.2,0.3,0.4,0.5 ,每种值…

springboot 精华

一、基础 官方文档地址:Spring Boot 注:以下部分例子 有些用到 .properties 方式,有些用 .yml方式,两者可自行学习,这里部分是为了省空间而写 .properties 方式。 1、泛谈 (1)优势 快速构建…

MyBatis Plus 拦截器实现数据权限控制(完整版)

一、说明 变化:相比于之前写的数据权限拦截器,新增了白名单功能,通过注解的方式让哪些SQL不进行数据权限拦截,之前的文章地址 思路:通过MyBatisPlus的拦截器对每个要执行的SQL进行拦截,然后判断其是否为查询…

勒索病毒远程桌面——防御方案

一、适用目标(校园网、企业网,windows系列的操作系统): 所有在局域网内运行windows系统的电脑,并非只感染服务器操作系统,单机照样感染。会将你电脑中的所有文件全部加密,部分已感染案例有2个共…

常见的存储类型:DAS vs SAN vs NAS

什么是存储 你有想过你在朋友圈分享的照片都存在哪里?你在视频网站上浏览的视频都存放在哪里?甚至,你在银行卡里的存款、房贷是如何随时查询、随时存取的? 没错,这些照片、视频,甚至你的存款、房贷的数值…

机器学习-6 支持向量机

支持向量机 算法概述算法流程线性分类线性可分性向量内积硬间隔分类软间隔SVM模型非线性支持向量机非线性的情况非线性支持向量机核函数 SVM优点 算法步骤线性可支持向量机的程序流程图SVM算法步骤 算法实例有关数据集利用Sklearn的datasets模块生成数据集其他生成数据集的方法…

BIM与点云:一种基于航空LiDAR点云的大规模建筑重建

文章:City3D: Large-Scale Building Reconstruction from Airborne LiDAR Point Clouds 作者:Jin Huang , Jantien Stoter , Ravi Peters and Liangliang Nan 编辑:点云PCL 来源:arXiv2023 欢迎各位加入知识星球,获取P…

GeoServer SQL注入漏洞复现(CVE-2023-25157)

0x01 产品简介 GeoServer是一款开源的地理数据服务器软件,主要用于发布、共享和处理各种地理空间数据。它支持众多的地图和空间数据标准,能够使各种设备通过网络来浏览和使用这些地理信息数据。 0x02 漏洞概述 GeoServer在预览图层的时候,可…

Ubuntu20.04平台下使用二进制包部署MongoDB-6.0.4单实例

文章目录 1.1 准备服务器的基本信息1.2 操作系统上创建其用户1.3 部署MongoDB服务端1.4 部署MongoDB客户端1.5 部署MongoDB 27017实例1.5.1 创建相关目录1.5.2 准备配置文件1.5.3 准备启停脚本1.5.4 进行启停测试1.5.5 加入开机自启动 1.6 创建超级管理员用户1.6.1 创建本地的超…

do..while、while、for循环反汇编剖析

1、循环语句重要特征提取 循环语句最重要的特点就是执行的过程中会往上跳&#xff01;&#xff01;&#xff01; 箭头往上跳的一般都是循环语句&#xff0c;比如下面的for循环&#xff1a; 2、do..while语句反汇编 #include<iostream> using namespace std; #pragma …

【SpinalHDL快速入门】2、新建SpinalHDL工程,通过计数器Demo快速上手

文章目录 新建工程各个工具版本build.sbt 示例build.properties 示例如何在IEDA中更新 SpinalVersion 并 Reload sbt Project SpinalHDL入门例子&#xff1a;计数器demo1demo2&#xff08;支持reset信号异步复位&#xff0c;低电平有效&#xff09;demo3&#xff08;一个文件&a…

Flume学习--1、Flume概述、Flume入门、

1、Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的系统。Flume基于流式结构&#xff0c;灵活简单。 Flume最主要的作用就是实时读取服务器本地磁盘的数据&#xff0c;将数据写入到HDFS。 1.2…

C#winform多国语言应用实例

我们在开发项目中,一般需要软件支持多种语言,供不同客户使用。本文实例讲解实现办法。 1 窗体项目创建 添加控件MenuStrip、comboBox及Button,并修改对应显示文本,combobox编辑项输入英语 确定窗体的Localizable属性为true,自动创建Form1.resx,为False时,没有Form1.r…

基站机房:保障通信网络稳定,如何解决安全隐患?

基站机房作为无线通信网络的关键组成部分&#xff0c;承载着大量的网络设备和通信设施&#xff0c;对于运营商和通信服务提供商来说具有重要意义。 无论是大型运营商还是通信服务提供商&#xff0c;动环监控系统都将成为他们成功运营和管理通信网络的关键工具。 客户案例 案例…

vue使用高德地图--附带移动获取当前城市信息

高德地图 1.使用准备申请密钥vue使用 2.移动地图获取城市案例(注意事项)3.总结 1.使用准备 申请密钥 登录注册高德开放平台进入控制台 创建应用 申请key–生成key和安全密钥(2021之后key需要配合安全密钥使用) 注意&#xff1a;安全密钥需要在key之前 vue使用 首先在pubil…

一款功能强大的报表引擎-VeryReport报表引擎

在企业管理中&#xff0c;数据分析和决策制定是非常重要的环节。而报表则是这个过程中最常用的工具之一。但是&#xff0c;传统的报表设计与展现方式已经无法满足企业对于数据分析和报表展示的需求。为了解决这些问题&#xff0c;我们向大家推荐一款新一代Web报表软件——VeryR…

越是大型企业越需要企业内部知识库?

随着信息时代的到来&#xff0c;越来越多的企业开始注重知识管理。知识管理是一种通过有效地捕捉、共享和利用企业内部的知识资源&#xff0c;促进企业创新和发展的方法。而企业内部知识库作为知识管理的一种重要方式&#xff0c;对于大型企业来说尤为重要。 一、大型企业内部…