---
title: "caffeinate：在“终端”中让 Mac 保持唤醒 · Kilobat 指南"
url: "https://kilobat.app/zh-hans/guides/caffeinate-keep-mac-awake.html"
description: "使用内置的 caffeinate 命令，在下载、构建或运行脚本时阻止 Mac 进入睡眠，并查看哪些 App 让它保持唤醒。"
---

睡眠与电源

# 用 caffeinate 在“终端”中让 Mac 保持唤醒

`caffeinate` 命令可在任务运行期间阻止 Mac 进入睡眠。它是 macOS 自带的命令，不会更改任何设置。

适用于：所有当前 macOS 版本。“系统设置”路径适用于 macOS 13 Ventura 及更高版本。 · 核查日期：2026年10月29日

## 症状

- Mac 进入睡眠后，下载、构建或脚本随之中断。
- 远程会话或 SSH 连接在几分钟无输入后断开。
- 想让 Mac 为某个任务保持唤醒，但不想更改睡眠设置。

## 可能的原因

- **闲置睡眠。**一段时间没有键盘或鼠标输入后，macOS 会让 Mac 进入睡眠。仅有网络活动并不总能阻止这一点。
- **显示器睡眠。**显示器按自己的计时器关闭。在某些 Mac 上，系统随后也会进入睡眠。
- **机盖。**合上 Mac 笔记本电脑的机盖会让它进入睡眠，`caffeinate` 无法改变这一点。请参阅[合盖时让 Mac 笔记本电脑继续工作](https://kilobat.app/zh-hans/guides/clamshell-lid-closed-mac.html)。

## 如何检查

1. 打开“终端”，查看当前有哪些进程在阻止睡眠。

   ```
   pmset -g assertions
   ```

   输出 一系列断言（例如 `PreventUserIdleSystemSleep`），以及持有每个断言的进程。
2. 查看当前生效的睡眠设置。

   ```
   pmset -g
   ```

## 如何修复

1. 要在某个命令运行期间让 Mac 保持唤醒，请在命令前加上 `caffeinate -i`。命令结束时，断言随之解除。

   ```
   caffeinate -i make
   ```
2. 要让 Mac 在固定时长内保持唤醒，请用 `-t` 以秒为单位指定时长。本例为两小时。

   ```
   caffeinate -i -t 7200
   ```
3. 要让 Mac 保持唤醒直到某个进程结束，请用 `-w` 指定该进程的 ID。

   ```
   caffeinate -i -w 12345
   ```
4. 要让显示器也保持开启，请加上 `-d`。

   ```
   caffeinate -d -i
   ```
5. 要停止不带命令启动的 `caffeinate`，请按下 Control-C。
6. 要在显示器关闭时阻止自动睡眠，请更改相应设置。在 Mac 笔记本电脑上，选取苹果菜单 >“系统设置”>“电池”>“选项”，打开“使用电源适配器且显示器关闭时，防止自动进入睡眠”。
7. 在 Mac 台式电脑上，选取苹果菜单 >“系统设置”>“节能”，打开“显示器关闭时，防止自动进入睡眠”。

## 使用 Kilobat

1. Kilobat 可以让 Mac 保持唤醒，直到下载停歇再让它睡眠。从菜单栏打开 Kilobat，点按茶杯图标并选择“直到下载完成”。
2. CLI 也能做到：速度持续 3 分钟低于 16 KB/s 后即停止。

   ```
   kilobat awake --until-quiet
   ```
3. 要在某个命令运行期间让 Mac 保持唤醒，并查看它传输了多少数据，请使用 `awake --`。

   ```
   kilobat awake -- make release
   ```
4. 这些功能都是免费的。App、CLI 和 MCP 的操作步骤请参阅[实用技巧](https://kilobat.app/zh-hans/guides/recipes/keep-mac-awake-download.html)。

## 常见问题

**caffeinate 能在合盖时让 Mac 保持唤醒吗？**

不能。`caffeinate` 阻止的是闲置睡眠。合上机盖仍会让 Mac 笔记本电脑进入睡眠，除非 Mac 连接了外接显示器、键盘和电源。请参阅[合盖时让 Mac 笔记本电脑继续工作](https://kilobat.app/zh-hans/guides/clamshell-lid-closed-mac.html)。

**-s 选项有什么作用？**

`-s` 阻止系统睡眠。man 手册页说明，它仅在 Mac 使用交流电源时有效。

**caffeinate 会更改我的设置吗？**

不会。它创建的是电源断言，`caffeinate` 停止时，断言即随之解除。

## 参考资料

- caffeinate(8)，macOS 27.2 自带的 man 手册页
- pmset(1)，macOS 27.2 自带的 man 手册页
- [Apple 支持：设置 Mac 的睡眠和唤醒设置](https://support.apple.com/guide/mac-help/prevent-your-mac-from-sleeping-mchle41a6ccd/mac)

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本；在“终端”中用 `man <name>` 打开。

## 相关指南

- [让 Mac 保持唤醒，直到下载完成](https://kilobat.app/zh-hans/guides/recipes/keep-mac-awake-download.html): 传输进行期间，Kilobat 会让 Mac 保持唤醒。
- [Mac 睡眠导致下载中断](https://kilobat.app/zh-hans/guides/mac-sleep-stops-downloads.html): Mac 进入睡眠后，大多数 App 活动都会停止，长时间的下载可能因此中断或失败。
- [合盖时让 Mac 笔记本电脑继续工作](https://kilobat.app/zh-hans/guides/clamshell-lid-closed-mac.html): 合上机盖会让 Mac 笔记本电脑进入睡眠。
