Bonjour à tous,
Cela fait quelques années maintenant que je fais de la programmation Java et il y a une chose qui me pose toujours problème, c'est l'exécution d'un programme (mon dernier exemple du moment est un exécutable Matlab) via un programme Java.
J'ai eu beau lire beaucoup de topics là dessus mais je ne trouve toujours pas de solution miracle qui ne me donnera jamais aucun bugs ni sous Windows ni sous Linux.
J'ai l'impression que sous Linux, j'ai besoin de faire appel à la méthode:
Dans le cas contraire, je reçois le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Process.waitFor()
Alors que sous Windows l'exécution de cette méthode Process.waitFor() me faire perdre la main sur le process et je me retrouve avec des threads fantômes.process hasn't exited
Ma question est donc la suivante:
Y aurait-il une solution/méthode qui marchera à tous les coups avec n'importe quelle version de Java (1.4 ou plus récente) en renvoyant les flux de sortie (out et err) ?
Faut-il forcément dissocier une exécution sous Windows d'une exécution sous Linux ? ce qui peut peut-être paraitre logique puisque le shell ne fonctionne pas de la même manière que le batch.
J'espère avoir été assez clair.
Merci de vos réponses.
Partager