我有代码
Process core = pb.start();
if(!core.waitFor(3, TimeUnit.HOURS))
{
System.out.println("Process destroyed, path " + root.getAbsolutePath());
core.destroy();
}
String output = IOUtils.toString(core.getInputStream());
return output;
它必须运行应该不超过3小时的过程。如果它工作得更多,则应该销毁此过程,但无论如何都必须收集所有生成的日志。
我通过它是正确的代码,但今天我已经看到它停在IOUtils.toString(core.getInputStream())
行上,因为我认为在调用destroy()并继续工作后它不会被销毁,而IOUtils.toString则是等着它完成了工作。
请告知如何做到这一点,谢谢