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 楼答案
一旦java进程关闭,JVM也会关闭该文件。此外,您无法看到哪个类打开了文件,因为lsof只列出了进程,这在任何情况下都是运行java代码的jvm进程
如果运行java-jar,jvm可能会保持jar文件处于打开状态,但如果在类上运行java,它们会加载到内存中,然后关闭,因此也看不到jvm打开了哪些类文件