Re: Dialoge Process
Baptiste MATHUS <[email protected]> Wed, 23 Feb 2011 07:36:09 +0100
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <[email protected]> |
Le 22 févr. 2011 16:48, "Erik Mazoyer" <[email protected]> a écrit : > > J'avais bêtement pensé à utiliser les InpuStream et OutputStream du Process lancé par Java. C'est pas bête du tout et ça marche très bien. Preuve en est : jenkins récupère les logs de processus externe exactement comme ça. Nous on le fait ss pb ds différents cas. > > > > Pour tester cela j'ai écrit une appli C++ qui fait un écho, elle lit en permanence sur std::cin et écrit ce qu'elle lit sur std::cout. > > Je l'ai testée sur l'invite de commande avec succès. Ptete un pb ds ton code C++ qd même ? > > > > Du coté Java : > > > > Process process = new ProcessBuilder(processFile.getCanonicalPath()).start(); > > OutputStream outputStream = process.getOutputStream(); > > InputStream inputStream = process.getInputStream(); > > > > Ensuite je délègue à des threads le remplissage de l'outputStream et la lecture de l'inputStream. > > Seulement voila, je reçois bien le message de l'appli comme quoi elle s'est lancée mais j'ai beau envoyer des caractères sur l'outputStream, je ne reçois rien sur l'inputstream. > > > > J'ai essayé la lib Shell d'adiGuba (com.developpez.adiguba.shell) sans que ça ne change quoi que ce soit. C'est une surcouche, donc ça peut rien changer. > Ave- vous déjà réalisé cela ? Oui, donc :). > > Avez-vous des pistes de réflexions. À tout hasard. Pb de flush qq part ? > > > > Merci d'avoir lu jusqu'ici :) > > > > Erik