如何使用咖啡因来防止我的计算机在脚本运行时进入睡眠状态?

如何使用咖啡因来防止我的计算机在脚本运行时进入睡眠状态?

今天早上我开始运行一个非常长的脚本:

caffeinate python spam.py

几个小时后,当我检查计算机时,计算机处于睡眠状态!我移动鼠标,脚本恢复正常执行。我查看了 man caffeinate,看起来我应该实际使用:

caffeinate -s python spam.py 

或者

caffeinate -i python spam.py

在 -s 和 -i 之间进行选择时,我需要考虑什么?在实用程序执行期间,咖啡因运行时,完全阻止系统休眠和空闲休眠之间有什么区别?

答案1

-s该选项通常用于笔记本电脑(如果盖子关闭,系统将强制进入睡眠状态)。-s仅适用于不使用电池的情况 - 如果电池电量有限,无论如何系统都会进入睡眠状态。

-i表示系统在一段时间内未被使用时进入空闲睡眠状态。

请注意,如果需要,您可以使用这两个选项来保持系统正常运行:

caffeinate -is python spam.py

来自Mac 开发者库,空闲睡眠与(强制)睡眠的区别是:

  • 强制睡眠是指用户采取某种直接行动使机器进入睡眠状态。合上笔记本电脑的盖子或从 Apple 菜单中选择睡眠都会导致强制睡眠。系统还会在某些条件下引发强制睡眠,例如热紧急情况或电池电量不足。

  • 当机器在节能系统偏好设置中配置的特定时间段内未使用时,就会出现空闲睡眠

答案2

将以下几行保存在 ~/Library/LaunchAgents 文件夹中作为 plist 文件,例如 caffeinate.plist 。它将在您登录时自动启动。有选项可以防止屏幕、硬盘进入睡眠状态。只需man caffeinate

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple Computer/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>Label</key>
<string>org.caffeinate.plist</string>
<key>Program</key>
<string>/usr/bin/caffeinate</string>
<key>ProgramArguments</key>
<array>
    <string>/usr/bin/caffeinate</string>
    <string>-i</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>  

答案3

我不太了解你提到的 Python 脚本,但如果你想让你的电脑不进入睡眠模式,有一个方便的应用程序叫做咖啡因那就帮你搞定了。

相关内容