#!/usr/bin/env perl use strict; use warnings; use English; use File::Basename; use Cwd; my $NOM_PROG = basename $PROGRAM_NAME; # # # les buts de ce script sont : # 1- creer les pipes nommes pour le dialogue Herezh-Herezh (mkfifo) # 2- lancer le processus Herezh Umat_HZ.info (qui sert d UMAT pour le vrai calcul Herezh de ce test LOI_VIA_UMAT_1.info) # 3- s assurer que le processus Umat_HZ.info fonctionne avant de quitter # # remarque1 : on lance le processus Herezh Umat_HZ.info via le lien symbolique $lien_symbolique_HZ # dont le nom sera facile a reperer pour le script de post-traitement LOI_VIA_UMAT_1.posttrait1 # (car le script LOI_VIA_UMAT_1.posttrait1 aura pour but de tuer ce processus apres le calcul LOI_VIA_UMAT_1.info) # # remarque2 : le processus Herezh Umat_HZ.info est lance dans un processus fils (fork) pour pouvoir le laisser # tourner en fond de tache et quitter ce script # #chemin absolu vers l executable Herezh my $hzchemin = shift(@ARGV); #nom du fichier .info my $finfo = shift(@ARGV); #forcer a vider le buffer (autoflush) $| = 1; #changement de parametre sur le chargement VOLUMIQUE # => on active l option "ATTRIBUT_ sur_volume_initial_" print "(prog:$NOM_PROG) activation \"ATTRIBUT_ sur_volume_initial_\"\n"; my $changement_option_ok = 0; open(FIC, "<$finfo"); open(FIC2, ">$finfo.tmp"); while() { if(/\#ATTRIBUT_/) { s/\#ATTRIBUT_/ATTRIBUT_/; $changement_option_ok = 1; } print FIC2; } close(FIC2); close(FIC); system("mv -f $finfo.tmp $finfo"); #reussite du script if($changement_option_ok) { print "resultat pretrait : OK\n"; } else { print "resultat pretrait : ECHEC\n"; }