我注意到我的 Linux 机器中有很多文件/tmp/.java_pid<...>
。该file
命令说它们是套接字。假设它们是由 Java 创建的,我想知道为什么 Java 不清理它们。如何让 Java 清理它们或不创建它们?
问问题
4274 次
2 回答
7
这些文件由 JVM 创建以支持调试。它是attach
api 的一部分。
如果您不希望 java 创建它们,请在不启用调试的情况下启动 java 应用程序。
如果没有具有相应 pid 的 jvm,您可以安全地删除它们……这是一个非常适合 cron 作业的任务。
一点点bash:
for file in /tmp/.java-[0-9]*; do
[ -d /proc/${file#*.java-} ] || rm -f $file
done
于 2013-04-17T15:48:13.343 回答
2
pid 文件通常是应用程序存储其进程 ID 的位置,因此用户可以在之后轻松地终止进程。这些应用程序应在关闭时删除这些文件。
我不会太担心这些文件,除非您看到越来越多的文件并且它们没有被删除,那么这可能是一个迹象表明您的应用程序没有正确关闭,
于 2013-04-17T15:40:34.720 回答