Bonjour,

ca fait plusieurs jours que je travaille sur un programme pour extraire des résultats d'une simulation et j'ai quelques problèmes:

J'ai un shell qui démarre ma simulation et qui une fois le calcul terminé doit lancer un autre shell qui s'occupe d'extraire les fameux résultats, les mettre dans un dossier, le transfert sur un autre PC et lance le traitement des données avec MATLAB.
Il y a déjà longtemps que j'utilise le premier donc de ce coté là, rien à signaler mais lorsque que j'intègre le second, il est bloqué dans un boucle qui me refait sans aret ma simulation, ce que je ne veux pas. Vous en pensez quoi?

Voici le premier shell:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
 
SIM_TAB=( 'Cas_test' )
PRO_NUM=8
DESTINATION= BLABLA
 
 
# ==========BOUCLE==================
SIM_NUM=${#SIM_TAB[*]}
 
for((i=0;i<=($SIM_NUM - 1);i++))
do
SIM_NAME=${SIM_TAB[$i]}
 
BATCH_NAME=$SIM_NAME'.sh'
cp batch-4-18.sh $SIM_NAME/$BATCH_NAME
cd $SIM_NAME
qsub -pe mpich $PRO_NUM $BATCH_NAME
 
 
# =======ATTENTE FIN DE CALCUL==========
 
while [ $(qstat -r | grep -c $BATCH_NAME) -gt 0 ]
do sleep 15
done
 
# =======EXTRACTION DES RESULTATS AVEC STAR CD======
cd ..
. ./Extraction_donnees.sh
 
echo "Simulation Ended" | mail -s " $SIM_NAME ended " EMAIL
 
done
 
rm nohup.out
 
done
Et voici le second:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh
 
echo "Simulation Ended" | mail -s " $SIM_NAME debut extraction " jonathan.brulatout.1@ens.etsmtl.ca
 
# ===== CHANGEMENT DU DOSSIER =====
source ./Simulation_18_extract.sh
cd $SIM_NAME
 
# ======EXTRACTION DES RESULTATS AVEC STAR CD=====
source /share/apps/starcd-4.18/etc/setstar
prostar x << EOT
Injecteur_Diesel
Y
Y
ifile,/state/partition1/home/jbrulatout/Data_Extraction/Export_data_only_dat_trkc.inp
quit
N
EOT
 
# Fonctionnement: Les commandes de STAR CD sont à insérer entre les deux EOT. Les trois premières lignes
# correspondent respectivement au "Case name", "Resume from model?", "Resume echo file". Ensuite viennent
# les commandes que l'on veut executer puis quitter l'application et savegarder ou pas suivant le cas.
 
 
# =====CREATION DU DOSSIER ANALYSE ET DEPLACEMENT DES FICHIERS=====
mkdir Analyse/
mv Injecteur_Diesel.trkc Injecteur_Diesel.dat Analyse/
 
 
# =======TRANSFERT DES DONNÉES======
cd ..
expect - <<ENDSCRIPT
  set timeout -1
  spawn scp -r $SIM_NAME $DESTINATION
  expect {
       "*password:*"
       {
          send "Jbr5a4.t\r"
          exp_continue
      }
  }
ENDSCRIPT
 
echo "Simulation Ended" | mail -s " $SIM_NAME ended " EMAIL
 
# =====CONNEXION LATNA=====
expect - <<ENDCONNEXION
  set timeout -1
  spawn ssh PC_DISTANT
  expect {
       "*password:*"
       {
          send "MDP\r"
          exp_continue
      }
  }
ENDCONNEXION
 
# =====EXTRACTION DES DONNEES AVEC MATBLAB=====
cd Simulation_Doctorat/Simulation_Recuperation/Last_day/$SIM_NAME/Analyse
matlab -nodesktop -nosplash - nojvm -r "addpath('/home/jbrulatout/Simulation_Doctorat/2_Analyse_Matlab'); Droplet$
 
# =====QUITTER LE LATNA=====
#exit
Merci beaucoup pour votre aide
Bonne soirée