数周以来我一直在在线研究 hs_err_pidxxx.log 文件,我能找到的唯一信息是它们是 Java 以纯文本形式生成的错误日志。
首先,自从我买了这台电脑后,这些文件就时不时地出现在我的根目录 (Macintosh HD) 中。它们通常在电脑处于睡眠状态时出现,大约在凌晨 2 点左右。
其次,我几个月前从这台 Mac 上卸载了 Java 运行时,并使用“深度卸载”应用程序确保所有与 Java 相关的文件都已从计算机中删除。
最后,我的电脑上出现的文件无法读取。我无法判断它们的内容是二进制还是纯文本,但内容都是纯乱码,不包含任何可读的文字。
有人能帮我弄清楚这些文件是什么以及它们来自哪里吗(它们似乎不符合上面提到的互联网上其他人的帖子所述的描述)。
附录(2019.02.13):
以下是@MMB 昨天建议的 launchctl 命令的结果:
标签
com.bitdefender.AuthHelperTool
com.bitdefender.CoreIssues
com.bitdefender.Daemon
com.bitdefender.UpdDaemon
com.bitdefender.agent
com.bitdefender.credentials
com.bitdefender.upgrade
com.teamviewer.Helper
com.vix.cron
net.tunnelblick.tunnelblick.tunnelblickd
org.cups.cupsd
org.serviio.server
请注意,在出现此问题时尚未安装 BitDefender AntiVirus。不过,生成的最新日志文件是 hs_err_pid208.log,PID 208 是 com.apple.usbd,而不是上述任何一个。
答案1
这些是在 JVM 崩溃时发生的,相当于用于调试的核心文件。您无法读取它们,因为它们很可能来自 root 启动的服务。
无论如何,看来您的系统上仍然有 Java,这并不奇怪,因为一些提供基于 Java 的应用程序的供应商提供了自己的 JVM,因此他们没有版本问题,也不需要用户在自己的应用程序之外手动安装 Java。如果我没记错的话,备份应用程序 Crashplan 曾经这样做过,但 Java 已经不再受欢迎,所以它可能是较旧的应用程序或服务(这也可能解释了它崩溃的原因)。
不过,通过终端可以轻松解决。从日志文件名中获取 PID 号 (xxx) 并在进程表中搜索它。例如,如果 PID 为 13924,那么
~ ps -e | grep 13924
13924 ?? 0:07.79 /Applications/Arduino.app/Contents/MacOS/Arduino
我认为我的系统上不再有任何上述应用程序,因此我仅使用 Arduino 应用程序作为示例,但有了这些信息,您应该能够确定 Java 运行时的位置。从那里您可以找出卸载有问题的应用程序的正确方法。