Sto provando a eseguire uno script Bash Shell da Java e funziona correttamente utilizzando questo pezzo di codice.Esecuzione script shell da Java in modo sincrono
public void executeScript() {
try {
new ProcessBuilder("myscript.sh").start();
System.out.println("Script executed successfully");
} catch (IOException e) {
e.printStackTrace();
}
}
Il codice sopra riportato funziona in modo asincrono. Ma quello che vorrei ottenere è eseguire il codice in modo sincrono. Vorrei che il processo Java attendesse fino al completamento dell'esecuzione dello script e quindi eseguisse il successivo batch di codice.
Per riassumere, desidero eseguire "Stampa istruzione - Script eseguito correttamente" dopo il il file batch ("myscript.sh") completa l'esecuzione.
Grazie
un'occhiata su questa questione http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code –
I collegamenti parla usando Runtime.getRuntime() .exec. Anche questo è asincrono. Sto cercando una soluzione "sincrona". – user1295300