Fiabilité du Runtime.exec() pour éxécuter une command externe
Le
figus
Salut à tous
Je suis sur le point d'utiliser Runtime.exec() pour lancer des commandes
externes.
Seulement voilà. A la lecture de la javadoc, je suis pas très optimiste
sur le bon fonctionnement de la chose.
1ère raison : parmi les commandes externes que je vais lancer, il y a
des shell scripts. Quelles sont vos expériences dans le domaine ?
Quelles leçons en avez-vous tiré ?
2ème raison : l'interfaçage avec les input et output stream du process
ne semblent pas très fiables et surtout les conséquences sont plus
qu'ennuyeuses. Je cite la javadoc : "may cause the subprocess to block,
and even deadlock". La javadoc recommande l'utilisation de stream
bufferisé mais malgré tout, je ne suis pas plus rassuré que ça. Donc
mêmes questions : quelles sont vos expériences et quelles leçons en
avez-vous tiré ?
Merci d'avance.
Je suis sur le point d'utiliser Runtime.exec() pour lancer des commandes
externes.
Seulement voilà. A la lecture de la javadoc, je suis pas très optimiste
sur le bon fonctionnement de la chose.
1ère raison : parmi les commandes externes que je vais lancer, il y a
des shell scripts. Quelles sont vos expériences dans le domaine ?
Quelles leçons en avez-vous tiré ?
2ème raison : l'interfaçage avec les input et output stream du process
ne semblent pas très fiables et surtout les conséquences sont plus
qu'ennuyeuses. Je cite la javadoc : "may cause the subprocess to block,
and even deadlock". La javadoc recommande l'utilisation de stream
bufferisé mais malgré tout, je ne suis pas plus rassuré que ça. Donc
mêmes questions : quelles sont vos expériences et quelles leçons en
avez-vous tiré ?
Merci d'avance.

Poser une question

http://www.javaworld.com/javaworld/...traps.html (en
anglais) peut t'être utile. Il présente en particulier une méthode
pour vider l'error stream et l'input stream du processus créé, et
éviter que celui-ci ne s'arrête.
Zazoun
Merci.
J'étais pas loin du compte, mais j'avais quand même des soucis.
C'est loin d'être simple si on a pas une référence comme celle-là.