2011-07-19 18 views
5

Stworzyłem proces jak tak, aby uruchomić android emulator:Java Class - Nie czekaj na proces, aby wyjść

Process p = Runtime.getRuntime().exec("emulator.exe -avd Testing -no-boot-anim -scale 0.42"); 

klasa My Java robi to, co musi zrobić, ale nigdy się nie kończy, ponieważ proces ten ma nie został zniszczony. Chcę tylko, aby moja klasa Java robiła to, co musi, i nie wychodzić bez czekania lub niszczenia rozpoczętego procesu. Próbowałem:

System.Exit(0)

Ale moja klasa Java nie dostać go przekazywać. Co mogę zrobić?

Odpowiedz

4

Musisz przetworzyć proces potomny 'stdout (i stderr) w przeciwnym razie metoda call to exec jest blokowana. Zobacz tutaj Why does Process.waitFor() never return?

+0

Dziękuję za wyjaśnienie i bardzo przydatne łącze. – Abs

Powiązane problemy