java - LSOF 命令不显示 java 和类文件

标签 java jar terminal command-prompt

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

例如在终端中,

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

提前致谢..恐怕我的英语不好。

最佳答案

一旦您的 java 进程关闭,该文件也会被 JVM 关闭。另外,您无法看到哪个类打开了该文件,因为 lsof 只列出进程,无论如何它都是运行您的 java 代码的 jvm 进程。

如果您运行 java -jar,jvm 可能会保持 jar 文件打开,但如果您在类上运行 java,它们会被加载到内存中然后关闭,因此您也无法看到 JVM 打开了哪些类文件.

关于java - LSOF 命令不显示 java 和类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19270754/

相关文章:

java - Mulesoft 中使用 SSL 的 WebMQ

Java - Netbeans 的 .jar 意外问题

bash - 使用 find 命令搜索可执行文件

java - .Jar 无法在 Blogger 上运行

java - 如何在.jar文件中添加jdk并运行

terminal - 复制然后将文件粘贴到终端中

terminal - 无法在终端中输入任何内容

java - Spring Boot 应用程序中日志记录概念的行数

java - 在 Eclipse 中使用 InputStream in = getClass().getResourceAsStream ("resources/template.properties") 找不到资源文件夹;

java - 为什么这个 Java 数组的 .sort 方法不起作用?