J
JayJay
Gast
So Leute, estmal schonen guten Tag.
Problematik;
Ich habe einen Thread, der einen Prozess aufruft und wartet, bis dieser beendet wird, funktioniert alles super:
Wenn ich nun den Thread starte, funktioniert alles wunderbar, das Programm wird gestartet. Wenn ich nun _stop() aufrufe wird das programm ebenfalls wunderbar beendet. Nur der thread scheint sich wohl in einem "wartungszustand" zu befinden
"System.out.println("app closed");" wird nicht ausgefürtt. !!!!
Wenn ich nun erneut den Thread via "start()" aufrufen möchte klappt nix 🙁 (Thread startet sich nicht mehr).
Kann mir da evt. jemand weiterhelfen?
Würde mich über eine antwort freuen
Gruß jayjay
Problematik;
Ich habe einen Thread, der einen Prozess aufruft und wartet, bis dieser beendet wird, funktioniert alles super:
Code:
MyApp extends Thread{
private int run(){
try{
OutputList.add("app started");
String cmd = app_file;
System.out.println("ServiceApp started");
// start process
this.process = Runtime.getRuntime().exec( cmd );
// handle process output-data
BufferedReader input = new BufferedReader(new InputStreamReader(this.process.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
//System.out.println("Out:"+line);
onLineOutput( line );
}//while
this.process.waitFor(); // wait for app-self termination (hier evt das problem)??
//this.proces
// clean-up
input.close();
this.process.destroy();
return this.process.exitValue();
//return 1;
}catch( Exception e ){
e.printStackTrace(); // print error stack
}
System.out.println("app closed");
return -1;
}
public void _stop(){
process.destroy();
stop();
}
Wenn ich nun den Thread starte, funktioniert alles wunderbar, das Programm wird gestartet. Wenn ich nun _stop() aufrufe wird das programm ebenfalls wunderbar beendet. Nur der thread scheint sich wohl in einem "wartungszustand" zu befinden
"System.out.println("app closed");" wird nicht ausgefürtt. !!!!
Wenn ich nun erneut den Thread via "start()" aufrufen möchte klappt nix 🙁 (Thread startet sich nicht mehr).
Kann mir da evt. jemand weiterhelfen?
Würde mich über eine antwort freuen
Gruß jayjay