Здесь я документирую свой систематический c подход. Оно свободно основано и инициировано ответом @ vijay-rajpurohit, который, в свою очередь, основан на комментарии @Robert @ 1431720. Обратите внимание, что окончательный результат зависит от моего компьютера MacOS, основываясь на журналах, показанных ниже. В MacOS он будет другим.
При первой попытке я сначала проверил журналы, используя: log show --style syslog | grep ...
, но это занимает слишком много времени. Я случайно проверил /var/log/wifi.log
после изучения /var/log/
(мне также интересно узнать /var/log/powermanagement/*.asl
).
Это оказалось наиболее полезным:
cat /var/log/wifi.log|grep -i "Wake reason"
Затем нашел эту строку: (обратите внимание на EC.
бит)
Thu Apr 23 22:41:32.359 Info: <airportd[219]> _systemWokenByWiFi: System wake reason: <EC.ARPT>, was woken by WiFi
Затем, погуглив на EC.ARPT
, я нашел следующие команды:
pmset -g log
Полезные статистические данные о "Всего сна / пробуждений с момента загрузки".
pmset -g assertions
Получилось, чтобы показать полный ответ на этот вопрос:
2020-04-24 02:23:38 +0100
Assertion status system-wide:
BackgroundTask 1
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
ExternalMedia 0
PreventUserIdleSystemSleep 0
NetworkClientActive 0
Listed by owning process:
pid 111(hidd): [0x0000200a000986a9] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4295010950.3"
pid 85(apsd): [0x0003b830000b90bd] 00:00:10 ApplePushServiceTask named: "com.apple.apsd-waitingformessages-push.apple.com"
Kernel Assertions: 0x100=MAGICWAKE
id=504 level=255 0x100=MAGICWAKE mod=24/04/2020, 01:57 description=en0 owner=en0
Idle sleep preventers: IODisplayWrangler
Короче говоря, в систематическом c подходе я исследовал следующие ключевые слова на основе журналов и гуглил каждое:
EC.ARPT
(пример ссылка ) iohideventsystem
(пример ссылка ) MAGICWAKE
(пример ссылка ) ApplePushServiceTask
(см. Ниже)
Наиболее информативный элемент появился из вывода pmset -g assertions
. Например, ApplePushServiceTask
в следующей строке:
pid 85(apsd): [0x0003b830000b90bd] 00:00:10 ApplePushServiceTask named: "com.apple.apsd-waitingformessages-push.apple.com"
Решение, которое, кажется, работает в моем конкретном случае (не общее решение), было отключить: /System/Library/LaunchDaemons/com.apple.apsd.plist
с использованием launchctl
. Но этого нельзя сделать, пока вы не сделаете csrutil disable
в безопасном режиме. Я не пишу здесь инструкции, потому что это требует осторожности, и вам нужно включить его позже.
(будет обновлено)