IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Process][exec] processus qui ne se termine jamais?


Sujet :

API standards et tierces Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [Process][exec] processus qui ne se termine jamais?
    Bonjour,

    J'utilise Java pour initialiser ma base de données MySQL. J'utilise donc les commandes :
    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
     
    Runtime envt = Runtime.getRuntime();
    Process p = envt.exec("C:\\mysql\\bin\\mysqld-nt --install"); 
    p.getOutputStream().close(); 
    p.waitFor(); 
    p.getInputStream().close(); 
    p.getErrorStream().close();
    p = envt.exec("net start mysql");
    p.getOutputStream().close(); 
    p.waitFor(); 
    p.getInputStream().close(); 
    p.getErrorStream().close();
    ...
    System.out.println("1");
    p = envt.exec("....fichier sql...");
    p.getOutputStream().close(); 
    p.waitFor(); 
    p.getInputStream().close(); 
    p.getErrorStream().close();
    System.out.println("2");
    Le "1" est bien affiché, mais le "2" n'apparaît jamais. Pourtant j'ai contasté que le fichier sql était bien exécuté, il contient en majorité des CREATE et toutes les tables sont créées.

    Merci d'avance pour votre aide!

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Essayes de mettre le waitFor apres toutes les fermetures de flux, le waitFor attend la fin de la tache, et si la tache attend la fermeture de ses entrees redirigees, tu t'en sors pas ..

    Bulbo

  3. #3
    Membre éclairé
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Points : 844
    Points
    844
    Par défaut
    Ton process peut être interrompus si le buffer input ou erreur est remplis, il faut dans ce cas que tu le vides pour que le processus redemarre.

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, ca marche sans problèmes!
    C'est dans des moments comme ca qu'on se dit "mais pourquoi je n'y ai pas pensé moi même!"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exists qui ne se termine jamais
    Par Bibicmoi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/07/2011, 15h45
  2. Requêtes qui ne se termine jamais
    Par bankette dans le forum SQL
    Réponses: 11
    Dernier message: 22/06/2009, 12h10
  3. [VB2005] Process qui ne se termine pas ?
    Par Kropernic dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/07/2008, 13h16
  4. Boucle While qui ne se termine jamais.
    Par ChiPi' dans le forum SGBD
    Réponses: 4
    Dernier message: 08/06/2007, 19h48
  5. [csv]import qui ne termine jamais
    Par banzzai dans le forum Requêtes
    Réponses: 6
    Dernier message: 14/06/2006, 21h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo