Mac 睡眠喚醒 不睡眠 問題

問題
之前一直有夜晚睡覺前電腦💻關機的習慣,主要是想着電腦也跟人一樣♨️要休息😂。然後最近想着自己 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 這兩個進程阻止電腦正常睡眠。
至此,大功告成!


