CentOS 7 @Raspberry Pi 3 で CPU 周波数と温度を表示させる簡易スクリプト

スポンサーリンク

 最近はブログネタが無いので些細なことも記事にしてみる事に。

 Raspbian 上であればコマンド叩けば CPU 温度やら表示出来るけど CentOS では特定のファイル内容を参照する必要がある。
 いちいちコマンド叩くのもアレだし、History から引っ張って叩くのも面倒だからシェルスクリプトとして CPU 温度と動作周波数を表示させるようにする。

 予め sudo yum install bc として bc コマンドを入れておこう。expr コマンドでも良いけど温度には小数点以下も欲しいのが理由。

#!/bin/bash

T1=`cat /sys/class/thermal/thermal_zone0/temp`
Temp=`echo "scale=1;$T1/1000" | bc`

T1=`sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`
CPU_Freq=`expr $T1 / 1000`

echo "$CPU_Freq [MHz], $Temp [℃]"

 このスクリプトをパスの通った所に置いておけば直ぐに叩いて 2 つの情報が得られるようになる。筆者は hwinfo.sh 等というファイル名にして ~/bin 以下に放り込んでおいた。

hwinfo.sh                                                                                             [~]
600 [MHz], 40.2 [℃]

 その内必要性に応じて引数次第で一定時間置きに延々表示させるような物でも追加しようかと思う。
 → 次の様に機能を追加した。

 引数に -l を指定するとループして 1 秒毎に表示を繰り返す事が出来るように。ただそれだけ。

#!/bin/bash                                                                                                             

LOOP="false"

while getopts l ARG
do
    case $ARG in
        "l" ) LOOP="true";;
    esac
done

while :
do
    T1=`cat /sys/class/thermal/thermal_zone0/temp`
    Temp=`echo "scale=1;$T1/1000" | bc`

    T1=`sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`
    CPU_Freq=`expr $T1 / 1000`

    echo "$CPU_Freq [MHz], $Temp [℃]"

    if [ $LOOP != "true" ]; then
        break
    fi

    # wait.                                                                                                             
    sleep 1
done
スポンサーリンク