dotfiles/.local/bin/cpumon
2024-07-03 19:59:32 -04:00

30 lines
596 B
Bash
Executable file

#!/bin/sh
while read -r _ user _ system idle _; do
initial_user_sys=$((user + system))
initial_total=$((user + system + idle))
break
done </proc/stat
sleep 1
while read -r _ user _ system idle _; do
current_user_sys=$((user + system))
current_total=$((user + system + idle))
break
done </proc/stat
while read -r line; do
case $line in
*Package\ id\ 0:*) temp=$line ;;
esac
done <<EOF
$(sensors)
EOF
temp=${temp#Package id 0:*+}
temp=${temp%%°*}
temp=${temp%.*}
printf '%s°C (%.*f%%)\n' "$temp" 0 $(((current_user_sys - initial_user_sys) * 100 / (current_total - initial_total)))