我想从Java类跨越一个新的JVM进程.
我可以使用,Runtime.getRuntime().exec(...)但这是一个非常低级别的api.
我正在寻找能够Process为我提供更多便利的东西的东西:
MonitoredJavaProcess javaProcess = new MonitoredJavaProcess(MyMainClass.class, "-Xmx1g");
javaProcess.getGcLogStream();
javaProcess.getHeapSizeObserver();
// ...
javaProcess.waitForShutdown();
Run Code Online (Sandbox Code Playgroud)
关于我想要做的事情的一点上下文:我正在运行JUnit一个测试套件taht启动一个嵌入式Jetty服务器并对它运行一些测试.这意味着测试的Jetty服务器线程和junit测试线程在同一个JVM中运行.我需要在单独的JVM上运行它们.我可以使用ant或maven或starup jetty外部的任何东西,然后针对它运行测试套件,但对我的简单场景来说听起来有点过分.