Unix/Linux温度数据读取并实现桌面通知

前言
最近电脑总是在开机的后一段时间,系统的温度猛升,上升100°C真是So Easy啊,我也是无奈,也许之前玩的应用太多残留( 其一:Chrome很厉害 ),过几天找过时间清理清理。即时PC已经安装了系统监控,可以显示系统当前的温度等数据,但是呢,一做起事来,哪有空看到PC顶部的温度数据哇,还是桌面通知好,先来暂时解决解决先!


方案
实时读取系统的温度,当温度过高的时候,马上在通过桌面通知用户,这时候就kill了。

使用sensors获取系统温度
使用notify-send发送通知


实现
如何实现呢,很简单,略懂shell直接看代码temcheck.sh

#!/bin/bash
# AlicFeng [email protected] 价值源于技术,技术源于分享
# 安装 func
function i(){
    sudo apt-get install apt-get install lm-sensors && sudo modprobe coretemp
}

# 运行 func
function todo(){
    str=`sensors |awk '{print $2}'| sed -n '3p'`
    tem=${str:1:2}
    if [ $tem -gt 50 ]
    then
    notify-send -i dialog-warning "系统温度提醒" "$(whoami) 你的电脑温度过高 \n Quickly To Kill Your Bad Process"
    fi 
}

# 帮助 func
function h(){
    echo echo "Usage: $0 (install|todo|help)"
}

# main to start
case $1 in
    i)
        i
        ;;
    todo)
        todo
        ;;
    *)
        h
        ;;
esac
exit 0

PS
第一:在第一次实现之前,先来安装依赖软件

➜  ~ bash temcheck.sh i

第二:查看其用法

➜  ~ bash temcheck.sh h

第三:程序的核心,那就是温度数据读取并实现桌面通知

➜  ~ bash temcheck.sh todo

Run
为了方便,温度高于50度就提示,This is demo!

Unix/Linux温度数据读取并实现桌面通知_第1张图片
temcheck Demo


auto run
一句话,那就是结合crontab运行了!
shell script in github 传送或wget


Alic say : ****价值源于技术,贡献源于分享****

你可能感兴趣的:(Unix/Linux温度数据读取并实现桌面通知)