Hallo,
ich starte aus meinem Java-Programm eine (*.EXE)-Konsolen-Anwendung mit dem Processbuilder. Dabei übergebe ich auch Parameter. Das funktioniert alles super. Einziges Problem: Es öffnet sich keine Konsole für die Anwendung, sie läuft im Hintergrund. Ich möchte aber möglichst die Konsolen-Ausgaben sehen.
Aufruf:
String[] command = new String[3];
command[0] = "C:\\blabla.exe";
command[1] = "-param1";
command[2] = "value1";
ProcessBuilder pb = new ProcessBuilder();
pb.command(command);
Process proc = pb.start();
Wenn ich die Anwendung nicht direkt, sondern über "cmd start" starte, öffnet sich die gewünschte Konsole, aber ich kann die Anwendung nicht mehr über proc.destroy() beenden. Ich vermute, dass da in der Variable proc nicht meine Anwendung, sondern "cmd" steht.
Die eigene Anwendung muss ich aber - selbst wenn ich sie ausserhalb von Java starte - mit "Strg+C" beenden, da sie sich nicht von alleine beenden lässt.
Hat jemand einen Tipp, was ich da machen kann?
Gruß
Martin
ich starte aus meinem Java-Programm eine (*.EXE)-Konsolen-Anwendung mit dem Processbuilder. Dabei übergebe ich auch Parameter. Das funktioniert alles super. Einziges Problem: Es öffnet sich keine Konsole für die Anwendung, sie läuft im Hintergrund. Ich möchte aber möglichst die Konsolen-Ausgaben sehen.
Aufruf:
String[] command = new String[3];
command[0] = "C:\\blabla.exe";
command[1] = "-param1";
command[2] = "value1";
ProcessBuilder pb = new ProcessBuilder();
pb.command(command);
Process proc = pb.start();
Wenn ich die Anwendung nicht direkt, sondern über "cmd start" starte, öffnet sich die gewünschte Konsole, aber ich kann die Anwendung nicht mehr über proc.destroy() beenden. Ich vermute, dass da in der Variable proc nicht meine Anwendung, sondern "cmd" steht.
Die eigene Anwendung muss ich aber - selbst wenn ich sie ausserhalb von Java starte - mit "Strg+C" beenden, da sie sich nicht von alleine beenden lässt.
Hat jemand einen Tipp, was ich da machen kann?
Gruß
Martin