我正在用 java 编写一个程序,它可以启动应用程序,例如 firefox。
编辑:该程序适用于 linux,特别是 ubuntu。
启动程序很容易:
Runtime.getRuntime().exec("/usr/bin/firefox");
但是,一旦它完全打开或运行,我想从窗口中检索详细信息。
目前我只是在打电话:
Thread.sleep(delay);
确保窗口已准备就绪,但这是一个糟糕的解决方案。需要不同延迟的不同窗口是个问题。
凌乱。
所以我的问题是,当firefox(或任何其他外部应用程序)完全设置时,有什么方法可以通知我?我不认为我可以使用 Process.waitFor() 因为在 firefox 关闭之前进程不会完成。
提前致谢!
更新: Process.waitFor() 不起作用。我已经尝试过了,它只在 Firefox 关闭时返回,而不是在完全设置时返回。只是对于任何自己尝试的人来说,如果另一个 Firefox 窗口已经打开,它将起作用(起初这把我愚弄了)但如果没有现有的窗口,它就不会!