Servlet avec Runtime.getRuntime().exec(. . .)
Bonjour,
étant donné que c'est mon premier post ici je voudrais tout d'abord remercier l'ensemble des membres de ce forum, c'est une vraie mine d'or en de nombreux domaines.
Je vais maintenant vous exposer mon problème ^^
Je bosse sur une servlet qui appelle un programme au moyen d'une ligne du type suivant :
Code:
Process proc = Runtime.getRuntime().exec(...)
À la base, l'argument de mon exec était la ligne de commande elle-même (à savoir ffmpeg (moteur de conversion vidéo) avec ses arguments), mais dans ce cas le processus de conversion ne démarrait pas si je ne fermais pas mon serveur web (Tomcat).
J'ai réussi à passer outre ce problème en appelant ffmpeg indirectement, via un invite de commande :
Code:
Process proc = Runtime.getRuntime().exec("cmd /c start "+...)
Le problème est que je voudrais pouvoir traiter les éventuelles erreurs de ffmpeg, or (et selon toute logique), les différents accès qu'offre la classe Process (exitValue(), getInputStream()...) concernent l'exécutable "cmd", et non ffmpeg !
Quelqu'un aurait-il une idée de comment je pourrais récupérer le code de retour et/ou la sortie standard (ou d'erreur) de ffmpeg dans ces conditions ?
Merci de m'avoir lu. Cordialement,
enzyme59