如何使用咖啡因来防止我的计算机在脚本运行时休眠?

use*_*678 10 terminal sleep python macos

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

caffeinate python spam.py
Run Code Online (Sandbox Code Playgroud)

几个小时后,当我在电脑上签到时,电脑睡着了!我移动鼠标,脚本恢复正常执行。我看过 man caffeinate ,看起来我应该实际使用:

caffeinate -s python spam.py 
Run Code Online (Sandbox Code Playgroud)

或者

caffeinate -i python spam.py
Run Code Online (Sandbox Code Playgroud)

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

sus*_*tus 11

-s选项通常用于笔记本电脑(如果盖子合上,系统会强制睡眠)。-s仅在不使用电池时适用 - 如果电池电量有限,则无论如何系统都会休眠。

-i 用于空闲睡眠,当系统在一段时间内未使用时会发生这种情况。

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

caffeinate -is python spam.py
Run Code Online (Sandbox Code Playgroud)

Mac 开发者库中,空闲睡眠和(强制)睡眠的区别是:

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

  • 当机器在节能系统首选项中配置的特定时间段内未使用时,会发生空闲睡眠