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

Raspberry Pi
この記事は約3分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

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

 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
著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 40 代も後半に入ったおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.