2020-05-30 09:22:50 +02:00

38 lines
783 B
Bash
Executable File

#!/bin/sh
UPDATE_PERIOD=2 #seconds
notif_dirty=0
perform=0
# USR1 callback
function toggle_perform()
{
let perform=1-${perform}
if [ "${perform}" -eq "0" ]; then
notif_clear
notif_dirty=1
fi
}
trap toggle_perform SIGUSR1
while true; do
if [ "${perform}" -eq "1" ]; then
# Compute stats
cpu=$(printf "%.1f\n" $(mpstat -P ALL $UPDATE_PERIOD 1 | tail -1 | awk '{print 100-$12}'))
ram_mem=$(printf "%.1f\n" $(free | grep Mem | awk '{print $3/$2 * 100.0}'))
ram_swap=$(printf "%.1f\n" $(free | grep Swap | awk '{print $3/$2 * 100.0}'))
# Notif
if [ "${notif_dirty}" == "1" ]]; then
notif_clear
notif_dirty=0
else
notif_set 0 "CPU:${cpu}%% RAM:${ram_mem}%% SWAP:${ram_swap}%%"
fi
else
sleep ${UPDATE_PERIOD}
fi
done
exit 0