Próbuję wykonać skrypt powłoki Bash z Java i działa dobrze przy użyciu tego fragmentu kodu.Uruchom skrypt powłoki z Java Synchronously
public void executeScript() {
try {
new ProcessBuilder("myscript.sh").start();
System.out.println("Script executed successfully");
} catch (IOException e) {
e.printStackTrace();
}
}
Powyższy kod działa poprawnie asynchronicznie. Ale chciałbym osiągnąć synchroniczne wykonanie kodu. Chciałbym, aby proces Java czekał aż wykonanie skryptu zostanie zakończone, a następnie wykona następną partię kodu.
Podsumowując, chciałbym, aby "Polecenie wydruku - skrypt wykonany pomyślnie" zostało wykonane po plik wsadowy ("myscript.sh") kończy wykonywanie.
Dzięki
spojrzeć na to pytanie http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code –
link rozmowy o użyciu Runtime.getRuntime() .exec. Jest to również asynchroniczne. Szukam rozwiązania "synchronicznego". – user1295300