释放进程的所有资源

Releasing all resources of Process

这似乎是一个基本问题,但我在 Javadocs 中找不到明确的答案:

如何正确释放Runtime.getRuntime().exec()分配的所有资源?

调用 Process.waitFor() 是否足够,或者我必须手动关闭输入、输出和错误流?

如果文档中没有明确写明,您必须明确关闭输入、输出和错误流。

Process是一个抽象class,它的具体实现可能因操作系统而异,因为它访问操作系统的资源。所以不能确定每个实现都一样,所以明确关闭是在这种情况下应用的最佳实践。