【发布时间】:2017-03-06 20:56:22
【问题描述】:
上下文
我正在为 macOS 开发一项服务,该服务在后台运行并定期执行某些任务。
该服务在崩溃或自动更新时由launchd 自动重启。
我注意到,当机器处于睡眠状态时,它仍会在每小时 1 或 2 分钟内执行程序。
目标
我的目标是在主机处于睡眠状态时中断这些任务的执行。 为此,我正在处理系统发送应用程序的睡眠和唤醒通知 (Apple Docs: Registering and unregistering for sleep and wake notifications)。
问题
我发现的问题是,如果在系统处于睡眠状态时更新服务或重新启动服务,则服务启动并假定状态为“唤醒”。 因此它会尝试运行它不应该运行的东西。
我想知道是否有办法查询系统是处于“睡眠”还是“唤醒”状态。
【问题讨论】:
-
我的 cmets 可能会有所帮助 - 不记得结果...stackoverflow.com/q/32227580/2836621
标签: macos sleep-mode