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