• # Tu peux t'inspirer de ca

    Posté par . En réponse au message Ressource ordinateur. Évalué à 2.

    #!/bin/sh
    # temps de rafraichissement en secondes
    REFRESH_TIME=1
    cpu_line=`cat /proc/stat | grep "^cpu " | tr -s ' '`
    old_user=`echo $cpu_line | cut -f2 -d' '`
    old_nice=`echo $cpu_line | cut -f3 -d' '`
    old_sys=`echo $cpu_line | cut -f4 -d' '`
    old_other=`echo $cpu_line | cut -f5 -d' '`
    while true
    do
     clear
     # On récupère les info mémoire dans meminfo
     # Il y a surement moyen de faire un parsing plus propre 
     # avec awk mais je ne le connais pas assez
     echo "Utilisation memoire :"
     cat /proc/meminfo | grep -e MemTotal -e Mapped | tr -s " " | \
     cut -f2 -d" " | sort | tr "\n" "#" | sed -e s/"#"/" \/ "/ | \
     sed -e s/"#"/" ko\n"/
     echo ""
     # Les info CPU sont récupéré dans le fichier /proc/stat
     cpu_line=`cat /proc/stat | grep "^cpu " | tr -s ' '`
     new_user=`echo $cpu_line | cut -f2 -d' '`
     new_nice=`echo $cpu_line | cut -f3 -d' '`
     new_sys=`echo $cpu_line | cut -f4 -d' '`
     new_other=`echo $cpu_line | cut -f5 -d' '`
     # Toutes les REFRESH_TIME seconde(s), on récupère la différence entre la 
     # nouvelle valeur et l'ancienne
     user=`expr $new_user - $old_user`
     nice=`expr $new_nice - $old_nice`
     sys=`expr $new_sys - $old_sys`
     other=`expr $new_other - $old_other`
     total=`expr $user + $nice + $sys + $other`
     # Et on affiche les pourcentages
     echo "Utilisation CPU :"
     echo "user : `expr $user \* 100 / $total`%"
     echo "nice : `expr $nice \* 100 / $total`%"
     echo "sys : `expr $sys \* 100 / $total`%"
     echo "other : `expr $other \* 100 / $total`%"
     old_user=$new_user
     old_nice=$new_nice
     old_sys=$new_sys
     old_other=$new_other
     sleep $REFRESH_TIME
    done