Bonjour,


j'ai un problème concernant la fin d'éxécution d'une commande système lancée par un script perl. Le script perl lance la commande système mais n'attend pas la fin de l'exécution pour continuer à se dérouler. Ce script fonctionnait correctement sous Windows 2003.

Ci-dessous un test réalisé sur un serveur 2008R2 :
Code perl : 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
print "Je lance un exe 64 bits normal\n";
system("notepad.exe");
print "J ai attendu la fin de l execution de notepad 64 bits\n";
print "\n";
print "Je lance un exe 32 bits normal\n";
system("c:\\windows\\sysWOW64\\notepad.exe");
print "J ai attendu la fin de l execution de notepad 32 bits\n";
print "\n";
print "Je lance un exe 64 bits qui a besoin du mode privilegie\n";
system("mmc.exe");
print "J ai attendu la fin de l execution de mmc 64 bits\n";
print "\n";
print "Je lance un exe 32 bits qui a besoin du mode privilegie\n";
system("c:\\windows\\sysWOW64\\mmc.exe");
print "Ben la je n ai rien attendu du tout ....\n";
print "\n";
Il semble que system() rende tout de suite la main lorsqu'on attaque un EXE 32 bits qui requiert le mode privilégié...

avez-vous une idée pour régler ce problème?
Merci