有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

比如在航站楼

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

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


共 (1) 个答案

  1. # 1 楼答案

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

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