1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/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} -eq 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
|