等待进程完全启动

Wait a process is fully started

我正在启动一个带有运行时的 jar 文件,我只想在 jar 文件完全启动后继续。 它适用于 Thread.sleep() 但我希望有确切的睡眠时间而不是任意的时间。

我读到 waitFor() 等待直到进程结束,但这不是我想要的。

Runtime runtime = Runtime.getRuntime();
process = runtime.exec("java -jar app.jar");
// wait until app fully started
...

只有您作为开发人员才能决定应用程序是否已完全初始化。

例如,在您的应用程序中添加逻辑,这会创建一个常规的空文件(假设为 app.started)。然后在 runtime.exec() 之后检查文件是否存在,但有一些延迟。