我有一个使用 ProcessBuilder 启动外部进程 (Internet Explorer) 的 Java 应用程序。奇怪的是,当父 Java 线程调用 Thread.sleep 时,这个子进程会冻结。并非所有进程都会发生这种情况,例如 Firefox,但 IE 会一直发生。
有任何想法吗 ?
PS 我试过 Robot.delay() 具有相同的效果
我有一个使用 ProcessBuilder 启动外部进程 (Internet Explorer) 的 Java 应用程序。奇怪的是,当父 Java 线程调用 Thread.sleep 时,这个子进程会冻结。并非所有进程都会发生这种情况,例如 Firefox,但 IE 会一直发生。
有任何想法吗 ?
PS 我试过 Robot.delay() 具有相同的效果
您如何使用子进程 stdout 和 stderr ?发布您的代码可能值得。
您需要同时使用输出流,否则您的 stdout 或 stderr 缓冲区将填满,并且您的子进程将阻塞。有关更多详细信息,请参见此处。