Bonjour,

Je cherche comment récupéré le contenue dans une variable modifier dans un while, car ce while est exécuter dans un thread, du code vaut mieux que des explications:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
RESULT=0
 
LSTPROC=$(/bin/ps -e -o rss | \
            egrep -v RSS )
 
    printf "${LSTPROC}" | while read RSS
    do
 
      RESULT=$(echo "$RESULT+$RSS" | bc -l)
      printf "rss: $RSS\n"
      printf "RESULT: $RESULT\n"
 
    done
 
    printf "Mémoire RSS total utilisée: $RESULT\n"
Le problème c'est la variable RESULT, elle est modifier dans le while, qui doit être éxécuter dans un thread, car je vois bien le calcul s'afficher avec printf "RESULT: $RESULT\n",
Et après le printf suivant le done m'affiche 0.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
RESULT: 685044
rss: 3580
RESULT: 688624
rss: 752
RESULT: 689376
Mémoire RSS total utilisée: 0
Le but du script est d'afficher la mémoire consommer par tous les process.
Donc comment récupérer le contenu de RESULT or du while?

Merci.