我有一个通过launchd启动的守护进程。即使在DarkWake期间也会运行,并且在OS X重新进入睡眠状态之前没有时间完成。
我可以想到以下解决方案,但没有找到实现这一目标的方法。
请帮忙。
只需要了解这些醒来。使用log
实用程序,当系统自行唤醒时(即使没有激活powernap),我可以看到这些行:
2019-04-11 22:18:00.622600 + 0200 0x250默认值0x0 83 0 powerd:[powerd:sleepWake] vm.darkwake_mode:1 - > 1
2019-04-11 22:18:00.625413 + 0200 0x250默认值0x0 83 0 powerd:[powerd:sleepWake]由于RTC /维护,来自深度空闲[CDN]的DarkWake:
为了检测到这一点,这样的事情应该有效:
log show --last 1m --predicate 'subsystem == "powerd"' | grep "DarkWake from Deep Idle"
或者,在脚本中使用咖啡因也可能有效(尚未对此进行测试)。