1

我正在使用 Ubuntu 12.04。我使用 BufferWriter 编写 java 文件来打开和写入新文件。但我没有关闭 BufferWriter。使用 lsof 命令检查终端中打开了多少文件。但该文件未显示在列表中。我没有在 jar 中使用 BufferWriter,而是在终端中运行 lsof 命令,它显示了该 jar 文件。如何使用 lsof 命令在终端中显示包含 BufferWriter 的 java 或类文件未正确关闭。

例如在终端中,

      lsof +D /home/manoj/MyProject/WEB-INF

在此先感谢.. 恐怕我的英语不好。

4

1 回答 1

0

一旦您的 java 进程关闭,该文件也会被 JVM 关闭。此外,您看不到哪个类打开了该文件,因为 lsof 只列出进程,在任何情况下,它都是运行您的 java 代码的 jvm 进程。

如果你运行 java -jar,jvm 可能会保持 jar 文件处于打开状态,但如果你在类上运行 java,它们会被加载到内存中然后关闭,所以你也看不到 JVM 打开了哪些类文件。

于 2013-10-09T11:58:46.543 回答