问题
之前一直有夜晚睡觉前电脑💻关机的习惯,主要是想着电脑也跟人一样♨️要休息😂。然后最近想着自己 Mac 干脆每天睡眠💤算了,省得每天开关机麻烦,所以就最近这段时间每次夜晚睡觉前主动去点了电脑的 「Sleep」电源选项。然而事情并不简单,由于我有看日志的习惯,所以每天早起的时候看了一下电源历史,结果如下图:(我使用的是 Wattagio 这款软件)
可以看到2022/05/30晚22点多睡眠的,但是在2022/05/31早快3点时被唤醒了。这个时间很奇怪的,可以确信这个时间人都在梦乡,门窗紧闭,家里也不可能有什么“风吹草动”。
尝试解决第一次
最先想到的是,会不会是由于电脑插着电源🔌,然后系统设置里有个什么「Network Access」和「Power Nap」导致电脑在睡眠期间被唤醒了。所以第二次,就断了电源,在仅使用电池🔋的情况下进行睡眠。结果依然如初,又是半夜被唤醒。失败!
尝试解决第二次
在第一次尝试解决以失败告终后,我进行了几天的关机休息,最后又燃起了折腾的心。这次我想到了会不会是蓝牙鼠标的问题,然后在「Sleep」前将蓝牙鼠标关掉,结果发现不行;为了以防是不是还有其他蓝牙设备潜在唤醒,第二天我又将电脑的蓝牙直接关了,结果发现还是会睡眠唤醒。失败!!
尝试解决第三次
第二次尝试解决失败后,隔了几天我又想到,可能还是网络的问题导致被睡眠唤醒。即使使用电池进行睡眠,没有网络唤醒这个功能,但是有些应用程序或者是后台可能会在某些时间或间隔一定时间后去尝试进行网络请求,从而导致唤醒电脑。于是这次,我不仅惯了蓝牙还关了电脑的WiFi,然后第二天醒来一看日志,依然会睡眠唤醒。失败!!!
尝试解决第四次
在尝试解决第三次后,又是隔了几天我依然不死心,我去搜索引擎🔍查答案。这次其实也没查到太多有用的东西,唯一有用的就是看到有说可能是外接 USB 设备导致的 Mac 睡眠唤醒。于是,这次我把插在 type-c 转接器上的键盘拔了然后睡眠,第二天起来看日志,依然是睡眠唤醒。失败!!!!
间歇
在尝试解决第四次失败之后,本来我是应该再试试把那个 type-c 转换器拔了后的效果。然而电脑的位置都放好了固定了,Mac那个接口比较紧,我是太懒了不想动了,就没有去动电脑拔掉转换器做实验(线材好点的话,插Mac那个 type-c 接口是很紧的,电脑位置固定在一个较高位置的支架上的散热器上,要拔下来就还得扶着电脑)。所以这个预想的尝试方案就没有进行试验,放弃了。
重置 SMC
在这段间歇期,我又求助搜索引擎了,查到有说实在不行就重置 SMC 的(具体可参考官方指南: 如何重置 Mac 的 SMC)。可能我终究是太懒了,也有可能是我不想再折腾我的电脑了,就没有试重置 SMC 这个方案了。
柳暗花明
本来这个事情就这样搁置了一段时间,但是我昨晚睡觉没关机又试着睡眠了一下。结果今早起来看电源日志依然是被睡眠唤醒,好家伙,我不服输的心又开始躁动了。这一次,我仔细的使用搜索引擎,不放过任何蛛丝马迹,终于让我发现了我之前都没有查到的东西。
终极解决方案
由上图我们清晰地看到是 「QQ音乐」这个罪魁祸首阻止我的 Mac 睡眠😠😡💢。
命令行版本
如果你倾向于用命令行,不想使用上面👆的图形化应用来解决,也成,使用 pmset
这个命令即可。
注:tldr
是一个命令行工具,旨在简要地介绍一个命令最常使用的方式,省去你看繁琐的官方文档,让你快速上手,推荐安装使用
看上图的 tldr
给出的 pmset
的文档,我们使用 pmset -g
这个命令来看下:
注意观察上图中 sleep 的值,如果值是 0,那就说明电脑被禁止睡眠了;如果值是非 0,那该值应该就是在 系统设置=>电池 里面所设的数值。可以看到括号里的额外描述,一目了然,“sleep prevented by qqmusic, coreaudiod” 说明是 QQMusic 和 coreaudiod 这两个进程阻止电脑正常睡眠。
至此,大功告成!