2
我有一個使用ProcessBuilder啓動外部進程(Internet Explorer)的Java應用程序。奇怪的是,這個子進程在父Java線程調用Thread.sleep時凍結。它不會發生在所有進程中,例如Firefox,但是IE始終會發生。調用Thread.sleep()時,子進程停止(在Windows下的Java中)
任何想法?
P.S.我嘗試了同樣的效果Robot.delay()
我有一個使用ProcessBuilder啓動外部進程(Internet Explorer)的Java應用程序。奇怪的是,這個子進程在父Java線程調用Thread.sleep時凍結。它不會發生在所有進程中,例如Firefox,但是IE始終會發生。調用Thread.sleep()時,子進程停止(在Windows下的Java中)
任何想法?
P.S.我嘗試了同樣的效果Robot.delay()
你是如何使用子進程stdout和stderr?這可能值得張貼您的代碼。
你需要同時使用輸出流,否則你的stdout或stderr緩衝區將被填滿,你的子進程將被阻塞。有關更多詳細信息,請參見here。
我不是。我不知道我必須如IE不使用標準輸入/標準輸出,但我會嘗試你的建議。 – Demiurg 2009-09-24 19:54:09
絕對嘗試一下。幾年前,我被一個類似的東西碰到了,我也認爲它沒有用stdin/stdout做任何事情;你仍然必須使用StreamGobbler或類似的方式來使其工作。 – M1EK 2009-09-24 20:54:04