OS X关机原因和睡眠原因编号是否在任何地方列出/说明?


25

我最感兴趣的数字

  • -2
  • 0
  • 3
  • 5

…我可能会添加到该候选清单中。

这些数字是什么意思;我们在哪里可以找到权威的解释?

在苹果开源的某个地方,也许吗?

背景

有一个建议的答案-60,一个约-81的问题,一个有争议的 为-108建议答案,讨论-128-72-62-30-203 ...等,但除非我缺少了一些东西:

  • 没有什么比苹果提供的常见数字解释列表更好。

例子

内核最近在MacBookPro5,2上发送了三则消息:

2014-03-31 09:04:49.000 kernel[0]: Previous Shutdown Cause: 5
2014-03-31 11:01:24.000 kernel[0]: Previous Sleep Cause: 5
2014-03-31 14:47:00.000 kernel[0]: |Previous Shutdown Cause: -60

可能与某些原因编号有关

http://www.opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/MacErrors.h中的错误代码

  • 该公司在苹果开源的Mac OS X 10.6.2,但不是开源的Mac OS X 10.6.3
  • 10.6.2的源代码几乎与MacOSX10.8.sdk下安装的源代码相同
  • 将其中一些错误代码视为已过时是明智的。

Answers:


13

尽管根据@grgarside的关机原因”网站,该代码的确切含​​义尚未公开记录,但该问题中列出的原因是:

有关最新列表的完整信息,请参见“ 关机原因”

另请参阅:Mac OS X错误代码列表


在“不同的问题”上,关于关机原因有很多问题:


如果您经常遇到负数,则Apple更愿意将Mac维修,因为它通常表明硬件有问题。


如有其他问题的一般建议:


9

因此,有关系统错误代码的kbase文章可以追溯到PowerPC处理器的时代,显然需要更多的位来报告所有可能导致关机的潜在硬件错误。从英特尔主板问世开始,如果未记录正常的软件关闭标志,则所有关闭都用8位代码标记。正代码表示软件或HID启动的关机,而负代码(在-1至-127的范围内)表示与硬件相关的英特尔SMC启动的关机。-128关闭代码表示未知原因的与硬件相关的关闭。

0关闭代码驻留在硬件和用户之间的有限空间中。它表示突然断电,这可能是由硬件故障或用户操作引起的(如果您想亲自演示一下,请尝试在打开电源并拔下电源的旧MacBook或MacBook Pro上弹出电池,或拔出在iMac运行时将电源线从iMac中拔出,然后重新启动计算机并检查Console.app。当MacBook / Pro / Air使用最后一块备用电池电源将其自己放入SafeSleep时,使用零备用电源会导致完全关机,从而导致系统完全关机保留RAM中的内容

/var/vm/sleepimage

文件。除非您恰好在计算机进入睡眠状态后立即连接MagSafe适配器,否则可以很好地保证在system.log中遵循此代码0 Shutdown Cause。

一些硬件关闭代码是特定于特定型号的计算机的特定配置,具体取决于它们的配置,因为它们是指仅存在于该模型中的特定传感器或设备-当我为Apple工作时,我们被告知英特尔负责分配这些代码,即使在使用Apple Engineering的情况下,信息共享也不是特别自由。因此,我们几乎不得不独自找出那些晦涩的东西。

先前的关机原因5和3是PowerPC几天以来的保留-由于它们是由用户启动的,因此OS仍然负责报告它们。

代码5是干净的,用户启动的软件关闭程序,例如,通过从菜单中选择“关机”,或按电源按钮,然后在弹出窗口中选择“关机”,或者按住controloptioncommandeject,或键入

sudo halt

在命令提示符下。同样,“上一个睡眠原因”为5表示从菜单,热角或命令行,关闭盖子或触发MacBook / Pro / Air机壳中的霍尔效应传感器时,用户启动的任何清洁睡眠。

代码3是“肮脏的”关机,这可能是由于任何用户启动的计算机重新启动,或者通过按住电源按钮5秒钟以上而强制硬件计算机暂停。


谢谢!那么强制重启(命令-控制-电源按钮)将导致3,是吗?
格雷厄姆·佩林

还有一个代码“ 1”,用于使用菜单重新启动。
阿德里安·梅尔


3

我向Apple提交了有关该加密数字的错误报告,最终得到了以下答复:

工程根据以下信息确定此问题的行为符合预期:

如果您需要更多与睡眠/唤醒相关的信息,那么“ pmset -g log”是您可以去的地方,而不是system.log,一切正常。

如果您对此解决方案有疑问,请使用该信息更新错误报告。

现在,我们将关闭此错误报告。

请确保定期检查新的Apple版本是否有可能影响此问题的更新。

总结:他们建议使用该命令pmset -g log来诊断睡眠问题,而不是查看系统日志。


2

我可以用代码0来帮助您,这意味着没有问题,并且成功了。

我发现了一份旧列表,可以追溯到1998年的OS X之前。尽管它并不是您所要查找的确切答案,但它可能会朝正确的方向提供帮助。

如果不赞成使用错误代码,则不会用新的原因代替它,因为这只会使跟踪OS X和以前版本中使用的这些数字变得更加困难。


1
谢谢。该旧列表的最新版本可能是Macintosh: Apple存档的“ 系统错误代码说明”
Graham Perrin 2014年

@GrahamPerrin您可以在答案中发表评论!
Ruskes 2014年

1
我怀疑McOS <= 9信息是否与此处的任何内容相关-内核等从1989年开始以NeXT的身份运行,我认为将使用这些值而不是更改为OS <= 9
user151019

这些无关紧要-它们是经典的OS(现在为Carbon)错误代码。它们用于应用程序级API错误代码。即使在经典的操作系统中,它们也不被用来识别系统崩溃。
詹斯·阿尔夫克

我很确定关机原因不等同于系统错误代码
Adrian Maire

0

希望它能帮助某人。

MBP 2008

  • 3正常行为...按下电源按钮超过四秒钟以强制关机。
  • -5正常行为...定期关闭
  • -60尝试给电池充电。
  • -70更换顶盖。
  • -72更换散热器传感器/重新涂上导热膏/更换散热器(这是我的问题)
  • -74更换电池,用于KGB电池-更换电池
  • -78逻辑板上的充电器电路...尝试将KGB左I / O板交换...如有必要请更换/更换逻辑板
  • -82测试热传感器JST连接器是否安装不当或损坏。更换温度传感器。请参阅热传感器拆开部分
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.