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:
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 #!/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
Merci beaucoup pour votre aide
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
Bonne soirée
Partager