macOS caffeinate

在 macOS 上执行长时间任务时,系统可能因空闲而自动休眠。使用 caffeinate 命令可以保持系统唤醒,确保测试、编译、打包等任务持续运行。


常用命令

保持唤醒(推荐)

caffeinate -disu

说明:

  • 前台运行
  • 占用当前终端
  • 关闭终端或按 Ctrl+C 即可结束

保持唤醒 2 小时

caffeinate -disu -t 7200

说明:

  • 7200 秒 = 2 小时
  • 时间到自动退出

后台运行

caffeinate -disu &

说明:

  • 不占用终端
  • 可继续执行其它命令

查看后台任务:

jobs -l

示例:

[1]+ 12345 Running    caffeinate -disu &

其中:

  • 1:Job ID
  • 12345:进程 PID

结束任务:

kill 12345

或:

kill %1

结束所有 caffeinate:

pkill caffeinate

任务执行期间保持唤醒(最佳实践)

caffeinate -disu dotnet publish

或:

caffeinate -disu ./build.sh

说明:

  • 任务运行期间不休眠
  • 任务结束自动退出
  • 无需手动关闭

参数说明

参数 作用
-d 防止显示器休眠
-i 防止系统因空闲而睡眠
-s 防止系统睡眠(接电源时有效)
-u 模拟用户活动
-t 持续指定秒数

查看是否生效

pmset -g assertions

看到以下类似信息说明 caffeinate 正在生效:

PreventUserIdleSystemSleep
PreventUserIdleDisplaySleep

推荐用法

临时防休眠:

caffeinate -disu

执行构建任务:

caffeinate -disu dotnet publish

需要后台运行:

caffeinate -disu &
jobs -l
kill <PID>
上一篇