Debian查询硬件状态

news2024/11/16 17:45:58

很早以前写过一个查询树霉派硬件状态的文章,用是Python写的一个小程序。里面用到了vcgencmd这个测温度的内部命令,但这个命令在debian里面没有,debian里只有lm_sensors的外部命令,需要安装:apt-get install lm_sensors -y,然后运行sensors就可以得到下面这些信息:

我想倒数第三行应该就是cpu温度,再下面是各个核的温度。只要把这个信息读出来,就可以得到cpu温度了。

只有cpu温度不能正常显示,其他内容可以正常显示,所以其他没改,只改了cpu温度显示部分。

下面是全部代码(包括之前版本内容):

#!/usr/bin/env python
# coding=utf-8
import os

# Return CPU temperature as a character string
def getCPUtemperature():
    res = os.popen('sensors -A coretemp-isa-0000').readlines()
    return(res[1][16:22])
#上面readlines是缓存所有内容(列表),sensors后面的参数 -A是不显示adapter,后面是chip名称,此处为cpu.
#res[1][16:22]为res列表中第二项中的第16到22字符。该项内容为:Package id 0:  +41.0°C  (high = +105.0°C, crit = +

#下面两行是树莓派使用的代码
#    res = os.popen('vcgencmd measure_temp').readline()
#    return(res.replace("temp=","").replace("'C\n",""))



def getRAMinfo():
    p = os.popen('free')
    i = 0
    while 1:
        i = i + 1
        line = p.readline()
        if i==2:
            return(line.split()[1:4])

def getCPUuse():
    return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))
def getDiskSpace():
    p = os.popen("df -h /")
    i = 0
    while 1:
        i = i +1
        line = p.readline()
        if i==2:
            return(line.split()[1:5])


# CPU informatiom
CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()

# RAM information
# Output is in kb, here I convert it in Mb for readability
RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)

# Disk information
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]
if __name__ == '__main__':
 print('')
    print('CPU Temperature = '+CPU_temp+"℃")
    print('CPU Use = '+CPU_usage)
    print('')
    print('RAM Total = '+str(RAM_total)+' MB')
    print('RAM Used = '+str(RAM_used)+' MB')
    print('RAM Free = '+str(RAM_free)+' MB')
    print('')
    print('DISK Total Space = '+str(DISK_total)+'B')
    print('DISK Used Space = '+str(DISK_used)+'B')
    print('DISK Used Percentage = '+str(DISK_perc))


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/887407.html

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

相关文章

ZLMediaKit推流测试

推流测试 ZLMediaKit支持rtsp/rtmp/rtp推流,一般通常使用obs/ffmpeg推流测试,其中FFmpeg推流命令支持以下: 1、使用rtsp方式推流 # h264推流 ffmpeg -re -i "/path/to/test.mp4" -vcodec h264 -acodec aac -f rtsp -rtsp_transp…

STM32 CubeMX (Freertos任务通信:队列、信号量、互斥量,事件组,任务通知)第二步

STM32 CubeMX STM32 CubeMX ____Freertos任务通信:队列、信号量、互斥量,事件组,任务通知 STM32 CubeMX一、STM32 CubeMX设置时钟配置HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)使用…

最新ChatGPT网站AI系统源码+详细图文搭建教程/支持GPT4.0/AI绘画/H5端/Prompt知识库/

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&#xff01…

LeetCode ——二叉树篇(三)

刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 二叉树的定义及创建见: LeetCode ACM模式——二叉树篇(一)_要向着光的博客-CSDN博客 目录 116. 填充每个节点的下一个右侧节点指针 117. 填…

(二)结构型模式:7、享元模式(Flyweight Pattern)(C++实例)

目录 1、享元模式(Flyweight Pattern)含义 2、享元模式的UML图学习 3、享元模式的应用场景 4、享元模式的优缺点 5、C实现享元模式的简单实例 1、享元模式(Flyweight Pattern)含义 享元模式(Flyweight&#xff09…

企业计算机服务器遭到了locked勒索病毒攻击如何解决,勒索病毒解密

网络技术的不断发展,也为网络安全埋下了隐患,近期,我们收到很多企业的求助,企业的计算机服务器遭到了locked勒索病毒的攻击,导致企业的财务系统内的所有数据被加密无法读取,严重影响了企业的正常运行。最近…

Kubernetes网络组件详解

目录 1、Kubernetes网络组件 1.1、Flannel网络组件 1.2、Calico 网络插件 2、环境准备 2.1、主机初始化配置 2.2、部署docker环境 3、部署kubernetes集群 3.1、组件介绍 3.2、配置阿里云yum源 3.3、安装kubelet kubeadm kubectl 3.4、配置init-config.yaml 3.6、安装…

vscode + python

序 参考链接: 【教程】VScode中配置Python运行环境_哔哩哔哩_bilibili Python部分 Python Releases for Windows | Python.org vscode部分 Visual Studio Code - Code Editing. Redefined 一路next,全部勾上: 就可以了: 安装插…

SpringBoot集成Solr(二)搜索数据

SpringBoot集成Solr(二)搜索数据 1.1 构建查询条件 //创建 solr查询参数对象 SolrQuery query new SolrQuery(); StringBuilder params new StringBuilder(); params.append(" subject_s:*").append(text).append("*"); params.a…

LVS负载均衡群集部署(LVS-NAT模型实例)

NAT模式 LVS负载均衡群集部署 LVS负载调度器:ens33:192.168.50.22 ens36:10.0.0.1(vmnet1) Web1 节点服务器1:192.168.50.56 Web2 节点服务器2:192.168.50.57 NFS服务器:192.168.5…

文本图片怎么转Excel?分享一些好用的方法

在处理数据时,Excel 是一个非常强大的工具,但有时候需要将文本和图片转换为 Excel 格式,这可能会让人感到困惑。在本文中,我们将介绍一些好用的方法,以便您能够轻松地将文本和图片转换成 Excel 格式。 将文本图片为Exc…

Mysql安装配置教程(超详细)(C盘、D盘均可安装)

Mysql安装配置教程(超详细)(C盘、D盘均可安装) mysql安装配置教程(超详细)(C盘、D盘均可安装)0x1 官网下载Mysql下载 0x2 选择安装模式0x3 Developer Default (C盘安装&a…

冠达管理:哪里查中报预增?

中报季行将到来,投资者开端重视公司的成绩体现。中报预增是投资者最关心的论题之一,因为这意味着公司未来成绩的增加潜力。但是,怎么查找中报预增的信息呢?本文将从多个视点分析这个问题。 1.证券交易所网站 证券交易所网站是投资…

React18TS项目:配置react-css-modules,使用styleName

他的好处不说了 网上一堆文章一个能打的都没有, 添加开发依赖 pnpm add -D dr.pogodin/babel-plugin-react-css-modules types/react-css-modules Babel Plugin "React CSS Modules" | Dr. Pogodin Studio 看dr.pogodin/babel-plugin-react-css-mo…

css学习3(三种样式表与样式控制优先级)

1、外部样式表&#xff1a;当样式需要应用于很多页面时&#xff0c;外部样式表将是理想的选择。在使用外部样式表的情况下&#xff0c;你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表&#xff0c;也要放到<head>中。 2、外部…

30W IP网络有源音箱 校园广播音箱

SV-7042XT是深圳锐科达电子有限公司的一款2.0声道壁挂式网络有源音箱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;可达到功率30W。同时它可以外接一个30W的无源副音箱&#xff0c;用在面积较大的场所。5寸进口全频低音…

B. The Walkway - 思维

分析&#xff1a; 补题&#xff0c; 首先大体思路就是先算一遍没改变任何点时能够买到的物品&#xff0c;这一步可以通过看两点之间距离&#xff0c;之间能够包含几个d就说明会需要买几次物品&#xff0c;对于两侧边界&#xff0c;可以将左侧设置为1 - d&#xff0c; 因为此时可…

SAP动态安全库存简介

动态安全库存:跑需求计划时,ERP系统按设置的库存方式自动计算出满足一定时间内可保障生产的库存数量 SAP动态安全库存的计算公式:动态安全库存=平均日需求*覆盖范围。 平均日需求=特定时期内的总需求/特定时期内的工作天数 覆盖范围指在没又货物供应的情况下,库存可以维…

arm:day4

1. 实现三盏灯的点亮 .text .global _start_start: led1初始化函数LED_INIT: 1 通过RCC_AHB4_ENSETR寄存器&#xff0c;设置GPIOE F组控制器使能 0x50000A28[5:4]1ldr r0,0X50000A28ldr r1,[r0]orr r1,r1,#(0X3<<4)str r1,[r0] 2.1 通过GPIOE_MODER寄存器&#xff0c;…

UNIQUE VISION Programming Contest 2023 Summer(AtCoder Beginner Contest 312)F题题解

文章目录 [Cans and Openers](https://atcoder.jp/contests/abc312/tasks/abc312_f)问题建模问题分析1.分析每种物品的优先级2.分析最终选取物品与每种物品的关系代码 Cans and Openers 问题建模 给定n个物品&#xff0c;物品里有三种&#xff0c;第一种可以直接选取&#xff…