Bonjour,
J'aimerais, à partir de code java (sous ubuntu), exécuter un script shell qui exécute une commande que j'insère habituellement dans mon terminal. Voici mon script (élémentaire) :
Ce script fonctionne parfaitement lorsque je le lance à partir de mon terminal, en m'étant préalablement positionné dans le bon répertoire (celui qui contient automaton.dot). Le script me permet de générer le fichier automaton.pdf qui est produit dans ce même répertoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4#!/bin/sh dot -Tps -o automaton.pdf automaton.dot echo "PDF généré"
Voici le code java qui est censé exécuter ce script :
et voici ce que j'obtiens à l'exécution de mon code java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("sh /monchemin/script.sh"); process.waitFor(); System.out.println("process exit value: " + process.exitValue()); } catch(Exception ex) { ex.printStackTrace(); }
Le problème c'est que mon fichier automaton.pdf n'est jamais produit. Je ne le trouve pas dans mon répertoire. Alors que lorsque j'insère directement ma commande dans le terminal ce pdf est bien généré... J'ai essayé pas mal de choses en cherchant des solutions sur différents forum mais en vain...
Code : Sélectionner tout - Visualiser dans une fenêtre à part process exit value: 0
Si quelqu'un peut m'aider... D'avance merci
Partager