防止 OS X 睡眠而 运行 特定启动的 plist

prevent OS X sleep whilst running specific launchd plist

我有一个全局启动的 plist 文件,它定期运行备份脚本。该脚本是一个非常简单的 bash 脚本,它设置一些变量并调用 duply。然而,plist 似乎并没有阻止系统进入睡眠模式。

有什么方法可以防止 mac 在这个特定的启动 plist 和相关脚本处于 运行 时进入休眠模式?

我使用以下方法来防止 Mac 睡觉:

pmset noidle

然后我使用 Ctrl-C 杀死它并让它再次休眠。

似乎有效的解决方案是

caffeinate -s [utility]

这会强制系统保持唤醒状态,直到 [utility] 关闭。

-s Create an assertion to prevent the system from sleeping. This assertion is valid only when sys-tem system tem is running on AC power.

完整的手册页解释更多。

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/caffeinate.8.html