type
status
date
slug
summary
tags
category
icon
password
wechat_gate
最近经常用 Claude Code、Codex、Cursor 等 AI Agent 长时间执行任务。
很多人会遇到一个问题:
- Mac 自动睡眠,导致任务中断
- 人已经睡觉了,电脑却整晚运行
- 第二天起来发现电量耗尽
这时候可以利用 macOS 自带的
caffeinate 和 shutdown 命令,实现:保持电脑唤醒 → 运行任务 → 自动关机
什么是 caffeinate?
caffeinate 是 macOS 自带的命令行工具。顾名思义,就是让电脑“喝咖啡”,保持清醒。
最常见的用法:
参数说明:
参数 | 作用 |
-d | 防止显示器休眠 |
-i | 防止系统空闲睡眠 |
执行后:
只要该命令保持运行:
- 屏幕不会休眠
- 系统不会自动睡眠
- 网络连接保持活跃
- AI Agent 可以持续工作
caffeinate 可以定时关机吗?
答案是不可以。
caffeinate 只负责阻止睡眠。它本身没有:
- 自动关机
- 自动重启
- 定时任务
等功能。
如果需要自动关机,需要配合
shutdown 使用。定时关机
两小时后关机
含义:
指定时间关机
例如晚上 11 点:
取消关机计划
防睡眠两小时后自动关机
这是最常见的场景。
参数解释:
运行后:
- Mac 保持唤醒
- AI Agent 持续执行
- 两小时后自动关机
为什么两小时后没有关机?
很多开发者都会遇到:
两小时后并没有关机。
通常有两个原因。
原因一:有进程阻止系统关机
常见阻止者包括:
- Docker Desktop
- Chrome / Edge
- Zoom
- Teams
- Xcode Simulator
- VMware
- Parallels
- Screen Sharing
- 外接显示器
- 系统更新进程
查看当前阻止关机的进程:
重点关注:
以及:
例如:
这说明对应进程正在阻止系统进入关机流程。
原因二:sudo 认证过期
这是更常见的情况。
macOS 默认 sudo 认证有效期大约为:
例如:
虽然启动时输入过密码,
但两个小时后执行关机动作时,
sudo 凭据已经失效。
因此关机失败。
保持 sudo 认证有效
先刷新认证:
然后启动后台续期:
最后再执行:
这样即使几个小时后执行关机,
sudo 权限依然有效。
强制关机方案
如果确认无需保存任何内容,
可以使用:
或者:
相比:
更加直接。
使用脚本自动关机
创建:
内容:
赋予权限:
执行:
运行逻辑:
AI Agent 场景推荐方案
如果目标是:
- Claude Code
- Codex
- Cursor Agent
- 本地 LLM
- 自动化脚本
更推荐:
例如:
或者:
执行流程:
这种方式不依赖定时器。
任务提前完成就提前关机。
任务运行更久也不会中断。
对于长时间 AI Agent 工作流通常更加可靠。
查看当前关机计划
示例:
查看 caffeinate 是否运行
示例:
表示当前系统仍然处于防睡眠状态。
推荐组合
临时保持唤醒
保持唤醒两小时
两小时后自动关机
保持唤醒并两小时后关机
命令执行完成自动关机
保持唤醒 2 小时,然后自动睡眠或关机
caffeinate -di 的作用是阻止 Mac 自动睡眠和显示器休眠,但它不会阻止强制关机。如果你想让 Mac 保持唤醒 2 小时,然后自动允许睡眠:
参数说明:
d:防止显示器睡眠
i:防止系统 idle sleep(系统空闲睡眠)
t 7200:持续时间,单位秒(2小时)
2小时后
caffeinate 退出,系统恢复正常睡眠策略。如果你想:运行任务两个小时,然后 2 小时后自动关机
用:
含义:
h:halt,关机
+120:120分钟后执行
例如:
效果:
- Mac 两小时内保持唤醒
- 两小时后自动关机
如果是跑 Codex / Claude Code / 编译 / 下载任务,更推荐
多加:
m防止磁盘睡眠
s接电源时阻止系统睡眠
u模拟用户活动
适合长时间 AI Agent、Xcode Archive、模型下载等任务。
查看当前 caffeinate:
取消:
如果是 MacBook Air M4 跑 Codex/Claude Code 长任务,建议用
caffeinate -dimsu,避免中途进入睡眠导致任务暂停。总结
caffeinate 负责保持 Mac 清醒。shutdown 负责计划关机。如果定时关机失败,优先检查:
确认是否有进程阻止关机。
同时确认是否存在:
的问题。
对于运行 Claude Code、Codex、Cursor 等 AI Agent 的开发者来说,最稳定的方案通常是:
任务完成立即关机,不依赖时间预估,也不会因为睡眠或长时间无人值守而导致资源浪费。