この記事は最終更新日より 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
コメント