我有一个Java应用程序,它使用ProcessBuilder启动外部进程(Internet Explorer)。奇怪的是,当父Java线程调用Thread.sleep时,这个子进程会冻结。所有进程都不会发生这种情况,例如Firefox,但是IE会一直发生。
有什么想法吗?
P.S。我尝试了具有相同效果的Robot.delay()
答案 0 :(得分:5)
你是如何使用子进程stdout和stderr的?可能值得发布您的代码。
您需要同时使用输出流,否则您的stdout或stderr缓冲区将填满,您的子进程将阻塞。有关详细信息,请参阅here。