[gull] truc et astuce: jouons avec bash /proc

Félix Hauri felix at f-hauri.ch
Thu Mar 23 16:13:43 CET 2006


Salut la liste,

Petit outil qui peut rendre service (surtout avec screen;)

La ``variable'' /proc/uptime contient le temps écoulé depuis le boot
en secondes, et le temps passé à ne rien faire (idle).

Donc, si je mémorise ces infos et que je les compare une seconde plus tard,
je sais combien de temps le systéme a passé à ne rien faire pendant ce temps.

Graphiquement et toutes les secondes:

--- there is the script ---
#!/bin/sh

COLUMNS=$(tput cols)
line=$(dd if=/dev/zero 2>/dev/null bs=$COLUMNS count=1 |
    tr \\000 \@ )

old_run=0
old_jif=0
IFS=$' \t.\n'
while :;do
    read -a ut </proc/uptime
    jiffies=$ut${ut[1]}
    idletim=${ut[2]}${ut[3]}
    running=$(( jiffies - idletim ))
    loadlen=$(( ( 10 * ( running - old_run ) * COLUMNS /
                  ( jiffies-old_jif ) + 5 ) / 10  ))
    old_run=$running
    old_jif=$jiffies
    printf "\r%s\e[K" ${line:0:$loadlen}
    sleep 1
    done

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list