#!/usr/bin/env python import os # Return CPU temperature as a character string defgetCPUtemperature(): res = os.popen('vcgencmd measure_temp').readline() return(res.replace("temp=","").replace("'C\n","")) # Return RAM information (unit=kb) in a list # Index 0: total RAM # Index 1: used RAM # Index 2: free RAM defgetRAMinfo(): p = os.popen('free') i = 0 while1: i = i + 1 line = p.readline() if i==2: return(line.split()[1:4]) # Return % of CPU used by user as a character string defgetCPUuse(): return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip())) # Return information about disk space as a list (unit included) # Index 0: total disk space # Index 1: used disk space # Index 2: remaining disk space # Index 3: percentage of disk used defgetDiskSpace(): p = os.popen("df -h /") i = 0 while1: 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))
然后修改一下这段脚本的权限
1
chmod +xmonitor.py
将其放到/usr/local/bin目录下,接下来就可以全局使用了
1
sudo cp monitor.py /usr/local/bin
最后输出结果如下:
CPU Temperature = 53.5 CPU Use = 0.3 RAM Total = 443.0 MB RAM Used = 30.0 MB RAM Free = 381.0 MB DISK Total Space = 3.6GB DISK Used Space = 1.1GB DISK Used Percentage = 31%