Auf Thema antworten

das Sleep kommt eben in die Schleife

> while (process.exitValue() != 0 || process.exitValue() != 1) {

hinein, z.B. gleich als ersten Befehl


so wie es im Moment aussieht könnte es theoretisch funktionieren, wairFor() wäre dann überflüssig,

die Schleife in Zeile 40 läuft ja genau bis zum Ende


wie sieht es ohne diese Schleife, dann aber mit waitFor(), aus? wie lange dauert das Skript, welcher Wert ist der exitValue()?

und wenn du die Schleife drin hast, was passiert dann? blockiert der exitValue()-Aufru?


ansonsten hoffe ich mit dem sleep(100), dann die Schleifendurchläufe mitzählen und Ausgaben einbauen, 10 Durchläufe sind 1 sec,

nach einer bestimmten Zahl von Durchläufen muss ja der Prozess fertig sein, läuft da die Schleife immer noch oder wird sie beendet?


also was ist jeweils der Stand, ich mag mir nicht aufwendig irgendeinen Prozess bauen um das zu testen, das kannst du alles selber herausfinden,

Monitor muss erstmal nicht sein, es reichen System.out.println()-Ausgaben,

wird in allen Fällen das Ende erkennt, gibt es Zwischenausgaben dass es noch läuft? usw.


was soll überhaupt

> pm.setProgress(progress);

bedeuten, das kompiliert doch nicht?

an den Monitor kannst du nur einen int-Wert übergeben,

wenn du nicht vorher weißt wie lange der Prozess dauert, dann kannst du natürlich auch keine sinnvolle Aussage zum Stand treffen,

ansonsten z.B. aus der bisher vergangen Zeit und erwarteten Gesamtzeit einen Wert von 0-100 berechnen


-----


generell hatte ich ja noch angedacht:

ein Thread startet Prozess + waitFor(), ein zweiter Thread mit der Schleife,

muss aber nicht sein, wenn es bisher so klappt



Oben