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