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

news2024/11/25 6:58:25

前言:

我们可以看出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/614613.html

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

相关文章

软件外包开发在线监测工具

软件系统上线后需要在线网络工具监测系统的运行,这样在系统出现故障时第一时间通知到系统维护人员,对于软件系统的稳定运行是必不可少的监测工具。今天和大家分享一些常用的在线监测工具,希望对大家有所帮助。北京木奇移动技术有限公司&#…

Vue.js 中的 TypeScript 支持是什么?如何使用 TypeScript?

Vue.js 中的 TypeScript 支持 Vue.js 是一款流行的前端框架,它提供了一种简单、灵活的方式来构建用户界面。随着 TypeScript 的普及,Vue.js 也开始支持 TypeScript,使得开发者可以使用类型检查等 TypeScript 特性来提高代码质量和可维护性。…

看完这篇卡尔曼滤波原理,我被惊到了!

在网上看了不少与卡尔曼滤波相关的博客、论文,要么是只谈理论、缺乏感性,或者有感性认识,缺乏理论推导。能兼顾二者的少之又少,直到我看到了国外的一篇博文,真的惊艳到我了,不得不佩服作者这种细致入微的精…

Vue-- 锚点实现左右两栏联动--scrollIntoView方法

官网:scrollintoView 通过滚动浏览器窗口或某个容器元素,调用元素就可以出现在视窗中。 利用scrollIntoView() 函数 默认是true document.getElementById(需要滚动的div的id).scrollIntoView() 如果给该方法传入true作为参数,或者不传入任何参…

什么是 Vue.js 中的 computed 属性?

什么是 Vue.js 中的 computed 属性? 在 Vue.js 中,computed 属性是一个非常重要的概念。它提供了一种方便的方式来计算和监听 Vue.js 实例中的属性,从而使得代码更加简洁、易于维护。在本文中,我们将详细介绍 computed 属性的原理…

【SVN】设置ubuntu下SVN服务开机自启

目录 0.背景环境 1.开机自启步骤 0.背景环境 1)ubuntu下,已搭建好svn版本库,具体搭建方法参考文末的其他博客链接 2)在搭svn服务器的过程中,发现ubuntu重启后,svn服务就关闭了 svn正常开启时见下图 所以…

ps技术的革命创新-photoshop beta版

Photoshop 2023 Beta功能介绍 全新的Generative Fill功能现已加入Photoshop Beta桌面应用程序,可以让用户在非破坏性的基础上轻松地添加、扩展或删除图像内容,实现令人惊喜、高兴和震撼的真实效果,仅需数秒。使用此功能,只需要选…

Java编程中必须掌握的抽象类和接口

抽象类与接口是J--a中两个重要的概念,都用于实现多态性和代码重用。在本文中,将会介绍这两个概念的特点以及如何使用它们来实现继承父类同时实现接口,还有接口的多继承。 老规矩,思维导图我已经整理好放在文末,需要自…

【ARM AMBA AXI 入门 1 - AXI 握手协议】

文章目录 1.1 AXI 双向握手机制简介1.1.1 信号列表1.1.2 双向握手目的1.1.3 握手过程 1.2 数据通路的握手要求1.2.1 读数据通路1.2.2 读地址通路1.2.3 写数据通路1.2.4 写地址通路1.2.5 写回复通路1.2.6 全信号 1.3 不同数据通路间的约束关系1.3.1 读操作约束关系1.3.2 写操作约…

怎么将pdf文件免费转为扫描件

推荐两个工具,也算是给自己记一下 1、手机:扫描全能王APP 太好使了,可以直接拍照并转换为扫描件 不开会员的话会出现水印,因为我都是自己用或者交作业就没开 支持读取相册,一次一张、多张都可以 如果不想要水印也…

Grafana 如何监控容器指标(五)

Grafana 如何监控容器指标(五) 1、添加cadvisor CAdvisor 是用于收集有关我们容器信息的常用工具。它是普罗米修斯和格拉法纳用来抓取信息和可视化图表、图表、时间序列和其他各种形式的信息的代理人。CAdvisor从我们的容器中收集各种指标,这些信息被普罗米修斯刮擦…

SQL了解之复制(二)

(续)从另一个master初始化slave 前面讨论的假设你是新安装的master和slave,所以,slave与master有相同的数据。但是,大多数情况却不是这样的,例如,你的master可能已经运行很久了&#xf…

Pads和AD画图哪个更好?

Mentor Pads和Altium Designer(简称:AD)是两种常用的电子设计软件,用于PCB设计,它们拥有各自的优势及适用场景,但如何根据项目来选择工具?下面将比对Pads和AD在不同方面的比较,希望对…

chatgpt赋能python:Python安装包制作入门教程

Python 安装包制作入门教程 Python 作为一门简单易学且适用范围广的编程语言,不仅可以运行在各种操作系统上,还能够通过制作安装包方便地分享给其他人使用。本文将介绍如何使用 Python 的一些工具来制作安装包,以帮助 Python 开发者更加便捷…

VFP下载公众号消息图片,小白入门DAY2

封面张终于放正了。 VFP接收到的消息如下 <xml><ToUserName><![CDATA[gh_63145a34e897]]></ToUserName> <FromUserName><![CDATA[oljsK6OgHA9ftJxuCUWg7cFylj6Y]]></FromUserName> <CreateTime>1685926602</CreateTime>…

设置float后,按钮遇上position: relative点击失效

1 问题&#xff1a;设置button浮动到右边之后&#xff0c;button上的onClick事件无法触发 "点击"按钮点不了 2 原因&#xff1a;button浮动到右边之后&#xff0c;下面的div填补上来&#xff0c;但是下面的div设置了position: relative&#xff0c;结果下面的div直接…

“AI Earth”人工智能创新挑战赛:助力精准气象和海洋预测Baseline[3]:TCNN+RNN模型、SA-ConvLSTM模型

【机器学习入门与实践】入门必看系列,含数据挖掘项目实战:模型融合、特征优化、特征降维、探索性分析等,实战带你掌握机器学习数据挖掘 专栏详细介绍:【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战:数据融合、特征优化、特征降维、探索性分析等,实战带你掌…

ChatGPT 创业:如何用人工智能 AI 开一家赚钱的公司

这是一篇演示如何使用 ChatGPT prompt &#xff08;提示词&#xff09;的文章。 在了解 ChatGPT 的文案写作能力后&#xff0c;我产生了一个念头&#xff0c;如果让它来写一篇命题作文&#xff0c;会是怎样&#xff1f; Prompt 提示词&#xff0c;和人工智能 AI 对话中一个重要…

产品经理基础能力篇丨认识 ER 模型

最近我在跟其他产品经理交流的时候&#xff0c;总能听到类似这样的话&#xff1a;“其实产品经理的基础能力都差不多&#xff0c;区别主要还是行业经验、对业务的理解能力、规划能力以及项目管理能力等等”&#xff0c;对此我是比较认可的。那么&#xff0c;产品经理的基础能力…

38种未授权访问漏洞总结(1)

本次复现,我们使用的是Vulhub里面的环境 地址:Vulhub - Docker-Compose file for vulnerability environment 安装按着他的来就行了,一般没有问题 安装之后进入目录开启环境就好了 目录 1. ActiveMQ 未授权访问 1. ActiveMQ 反序列化漏洞 (CVE-2015-5254)