Java Batch Warte-Problem

chyth

Grünschnabel
Hallo. Ich führe eine Batch in Java wie folgt aus:

public static boolean recon(){
String cmd2 = "reconnect.bat";
try {
Process p = Runtime.getRuntime().exec( cmd2 );
} catch (IOException ex) {
ex.printStackTrace();
}
return true;
}

Nun möchte ich aber danach weitere Programmzeilen abarbeiten, die jedoch erst ausgeführt werden sollen, wenn der Batch den Reconnect durchgeführt hat. MIt Thread.sleep geht es leider nicht, da dann der batch erst nach beendigung des java programms fertig ausgeführt wird. sleep hält somit den batch auch auf!?

Hat jmd. ne Idee?
 
Zuletzt bearbeitet:
Was auch nicht richtig funktioniert ist folgendes:


public static void recon(){
String cmd2 = "reconnect.bat";
try {
Process p = Runtime.getRuntime().exec( cmd2 );
try {
p.waitFor();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println("test");
}


Problem hierbei ist, dass dabei irgendwie die Batch-Datei nicht beendet wird...

Diese sieht so aus:


@echo off
start /min lynx.exe "http://192.168.2.1/cgi-bin/disconnect.exe"
ping 127.0.0.1 -n 10
start /min lynx.exe "http://192.168.2.1/cgi-bin/connect.exe"
ping 127.0.0.1 -n 10
taskkill /im lynx.exe
 
achja, mach in dem skript statt "start" lieber "call", weil dann wartet dein batch-skript auch bis die exen fertig sind und startet diese nicht in nem eigenen Prozess.

Gruß
Flo
 
Zurück