Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1553 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  DOS : Attendre sans consommer 100% de l'UC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DOS : Attendre sans consommer 100% de l'UC

n°2155854
antolionux
Posté le 06-09-2012 à 12:29:50  profilanswer
 

Bonjour,
 
J'ai une application métier qui nécessite Oracle.
 
1 - J'ai un script qui installe oracle de façon personnalisé
2 - J'ai un script qui installe mon applicatif métier
 
Je souhaite automatiser tout cela via un script DOS qui doit faire appel au script d'installation d'Oracle
 
je l'appel avec "call oracle.cmd"
 
Et c'est la que ça coince car le script n'attend pas de lui même la fin de l'installation d'Oracle.  
Il enquille toute de suite sur l'installation de l'applicatif métier ce qui provoque nombre d'erreur !!!  :pfff:  
 
===> Pour palier à ce problème, je génère donc un petit fichier flag "ora11.flg" en fin d'installation d'Oracle
===> et dans mon script principal je fait une boucle

Code :
  1. call oracle.cmd
  2. :attendre
  3. if not exist "%systemdrive%\ora11.flg" goto attendre
  4. call app_metier.cmd


 
 
 
ça fonctionne bien, mais cette maudite boucle d'attente utilise le processeur à 100%, ce qui ralentit considérablement l'installation d'Oracle.
 
Je ne suis pas sûre que l'on puisse faire proprement ce genre de chose sous DOS.
 
Auriez-vous une solution alternative à mon problème ?

mood
Publicité
Posté le 06-09-2012 à 12:29:50  profilanswer
 

n°2155880
pvclunacy
Posté le 06-09-2012 à 16:09:30  profilanswer
 

lancer l'install avec start /wait oracle.cmd ça marcherai pas ?

n°2155886
antolionux
Posté le 06-09-2012 à 17:19:50  profilanswer
 

Non ça ne marche pas, j'avais essayé déjà

n°2155900
pvclunacy
Posté le 06-09-2012 à 20:12:05  profilanswer
 

Et sinon, utiliser la commande TIMEOUT dans la boucle ?
 

Code :
  1. call oracle.cmd
  2. :attendre
  3. TIMEOUT /T 30 /NOBREAK
  4. if not exist "%systemdrive%\ora11.flg" goto attendre
  5. call app_metier.cmd


Là, toutes les 30 secondes on va vérifier si le fichier existe, si pas là, on retourne à attendre.

n°2155904
antolionux
Posté le 06-09-2012 à 20:27:18  profilanswer
 

Ah je ne connaissais pas cette commande. Je testerais dès demain. merci

n°2156556
raskt
Posté le 13-09-2012 à 00:03:15  profilanswer
 

L'astuce classique pour attendre en batch (utile seulement pour les vieux bouzins qui n'ont pas TIMEOUT):

Code :
  1. PING -n 5 127.0.0.1 >NUL

n°2156569
antolionux
Posté le 13-09-2012 à 08:50:19  profilanswer
 

le coup du PING je connaissais mais il faut connaître le temps a peu près exact et du coup si l'opération prend un peu trop de temps, je me retrouve quand même avec un plantage. Donc dans ce cas là, ce n'est pas sûr à 100%. J'ai donc mis en place le TIMEOUT qui fonctionne à merveille.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  DOS : Attendre sans consommer 100% de l'UC

 

Sujets relatifs
[JS] Attendre la fin d'une instruction avant de passer à la suivante[Resolu] problème CSS : faire un 100% et soustraire des PX
Script de connexion DOSAffichage de fichiers supérieur à...en DOS
[Batch Dos ou Powershell ]Récupérer un dossier FTP puis le purger?Exécution d'une commande Dos dans un programme Java
[Shell/Dos] Pipe dans une boucle FORLe MS DOS ne se lance pas sous JCreator
[DOS] Récupération valeur dans un fichierOption Command DOS
Plus de sujets relatifs à : DOS : Attendre sans consommer 100% de l'UC


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR