一款基于 Python 语言的 Linux 资源监视器

大家好,我是 JackTian 。
还记得前不久给大家推荐的《一款霸榜 GitHub 的开源 linux 资源监视器!—— bashtop》吗?它是一个用 Bash 编写的 Linux 资源监视器 。
昨天刚好闲逛 GitHub,发现这个作者又开源了一款基于 Python 语言的 Linux / OSX / FreeBSD 资源监视器 —— bpytop,其主要作用跟之前的 bashtop 大同小异,用于显示处理器,内存,磁盘,网络和进程的使用情况和状态 。
【一款基于 Python 语言的 Linux 资源监视器】首先我们先来看看 bpytop 资源监视器主界面 。

一款基于 Python 语言的 Linux 资源监视器

文章插图
 
特征
  • 易使用,带有游戏启发的菜单系统;
  • 完全支持鼠标,所有带有突出显示键的按钮均可单击,并且鼠标滚动可在进程列表和菜单框中使用;
  • 快速反应灵敏的 UI,带有 UP,DOWN 键可自行过程选择;
  • 用于显示所选进程的详细统计信息的功能;
  • 具有过滤过程的能力,可输入多个过滤器;
  • 在排序选项之间轻松切换;
  • 将 SIGTERM,SIGKILL,SIGINT 发送到选定的进程;
  • 用于更改所有配置文件选项的 UI 菜单;
  • 网络使用情况的自动缩放图;
  • 如有新版本可用,可在菜单选项中进行显示;
  • 显示磁盘的当前读写速度;

一款基于 Python 语言的 Linux 资源监视器

文章插图
 
Bpytop 使用与 bashtop 相同的主题文件,因此为 bashtop 制作的任何主题都可以使用 。
可根据自己的需求修改及设置 Main 配色,在自定义设置主题时,重新生成一个名为.theme的主题文件并设置默认变量赋值 。
#Bashtop theme with default colors and black background......# Main background, empty for terminal default, need to be empty if you want transparent backgroundtheme[main_bg]="#00"# Main text colortheme[main_fg]="#cc"# Title color for boxestheme[title]="#ee"# Higlight color for keyboard shortcutstheme[hi_fg]="#90"# Background color of selected item in processes boxtheme[selected_bg]="#7e2626" # Foreground color of selected item in processes boxtheme[selected_fg]="#ee"# Color of inactive/disabled texttheme[inactive_fg]="#40"# Misc colors for processes box including mini cpu graphs, details memory graph and details status texttheme[proc_misc]="#0de756"# Cpu box outline colortheme[cpu_box]="#3d7b46"# Memory/disks box outline colortheme[mem_box]="#8a882e"# Net up/down box outline colortheme[net_box]="#423ba5"# Processes box outline colortheme[proc_box]="#923535"# Box divider line and small boxes line colortheme[div_line]="#30"# Temperature graph colorstheme[temp_start]="#4897d4"theme[temp_mid]="#5474e8"theme[temp_end]="#ff40b6"# CPU graph colorstheme[cpu_start]="#50f095"theme[cpu_mid]="#f2e266"theme[cpu_end]="#fa1e1e"# Mem/Disk free metertheme[free_start]="#223014"theme[free_mid]="#b5e685"theme[free_end]="#dcff85"# Mem/Disk cached metertheme[cached_start]="#0b1a29"theme[cached_mid]="#74e6fc"theme[cached_end]="#26c5ff"# Mem/Disk available metertheme[available_start]="#292107"theme[available_mid]="#ffd77a"theme[available_end]="#ffb814"# Mem/Disk used metertheme[used_start]="#3b1f1c"theme[used_mid]="#d9626d"theme[used_end]="#ff4769"# Download graph colorstheme[download_start]="#231a63"theme[download_mid]="#4f43a3"theme[download_end]="#b0a9de"# Upload graph colorstheme[upload_start]="#510554"theme[upload_mid]="#7d4180"theme[upload_end]="#dcafde"更多的主题配色,可通过 Bpytop 项目中的 themes 文件夹查看 。
一款基于 Python 语言的 Linux 资源监视器

文章插图
 
安装依赖项安装 Linux,使用 python3 和 git 安装
安装 psutil python 模块(可能需要sudo)
# python3 -m pip install psutil依赖项安装 OSX,用于显示 CPU 温度 。
# brew install osx-cpu-temp手动安装 Linux,OSX 和 FreeBSD
# git clone https://github.com/aristocratos/bpytop.git# cd bpytop# sudo make install命令行选项USAGE: bpytop [argument]Arguments:-m, --miniStart in minimal mode without memory and net boxes// 最小模式下启动-v, --versionShow version info and exit// 显示版本信息并退出-h, --helpShow this help message and exit// 显示此帮助信息并退出--debugStart with loglevel set to DEBUG overriding value set in config由此看来目前 bpytop 还处于开发阶段,接下来,还有很多要去做新功能:


推荐阅读