Si je démarre un processus via la classe ProcessBuilder de Java, j'ai un accès complet aux flux d'erreur standard, standard et standard de ce processus en tant que Java InputStreams
et OutputStreams
. Cependant, je ne peux pas trouver un moyen de connecter de façon transparente ces flux à System.in
, System.out
, et System.err
.Démarrage d'un processus avec stdin/stdout/stderr hérité en Java 6
Il est possible d'utiliser redirectErrorStream()
pour obtenir un seul InputStream
qui contient la norme de subprocess résultats et les erreurs standard, et la boucle juste par cela et l'envoyer par ma sortie standard, mais je ne peux pas trouver un moyen de le faire et laisser le type d'utilisateur dans le processus, comme il ou elle pourrait si j'ai utilisé l'appel C system()
.
Cela semble être possible dans Java SE 7 quand il sortira - je me demande simplement s'il existe une solution de contournement maintenant. Points bonus si le résultat de isatty()
dans le processus enfant passe par la redirection.
Désolé je ne peux pas aider. – jjnguy
Pas de problème. (Au fait, ce n'est pas moi qui vous ai rabaissé.) –
Hé bien, merci au gars qui m'a non-voté. Et merci, John de ne pas m'avoir rabaissé. – jjnguy