睡眠與電源

用 caffeinate 從終端機讓 Mac 保持喚醒

caffeinate 指令可以在工作執行期間防止 Mac 進入睡眠。它是 macOS 的一部分,不會更改任何設定。

適用於:所有目前的 macOS 版本。「系統設定」路徑適用於 macOS 13 Ventura 以上版本。檢查日期:2026年10月29日

症狀

  • Mac 進入睡眠後,下載、建置或腳本就停止了。
  • 遠端工作階段或 SSH 連線在一段時間沒有輸入後中斷。
  • 你想讓 Mac 在某個工作期間保持喚醒,但不想更改睡眠設定。

可能原因

  • 閒置睡眠。一段時間沒有鍵盤或滑鼠輸入後,macOS 會讓 Mac 進入睡眠。光是網路活動不一定能阻止這件事。
  • 顯示器睡眠。顯示器會依自己的計時器關閉。在某些 Mac 上,系統接著也會進入睡眠。
  • 螢幕蓋。闔上 Mac 筆電的螢幕會讓它進入睡眠,caffeinate 無法改變這一點。請參閱闔上螢幕時讓 Mac 筆電繼續運作。

如何檢查

  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 也能做到同樣的事。速度低於 16 KB/s 持續 3 分鐘後就會停止。

    kilobat awake --until-quiet
  3. 若要在某個指令執行期間讓 Mac 保持喚醒,並查看它傳輸的資料量,請使用 awake --。

    kilobat awake -- make release
  4. 這些功能都是免費的。App、CLI 和 MCP 的步驟請參閱實用技巧。

常見問題

caffeinate 能讓 Mac 在闔上螢幕時保持喚醒嗎?

不能。caffeinate 只阻止閒置睡眠。闔上螢幕仍然會讓 Mac 筆電進入睡眠,除非 Mac 接上了外接顯示器、鍵盤和電源。請參閱闔上螢幕時讓 Mac 筆電繼續運作。

-s 選項有什麼作用?

-s 會阻止系統睡眠。man 頁面說明它只在 Mac 使用 AC 電源時有效。

caffeinate 會更改我的設定嗎?

不會。它建立的是電源斷言,caffeinate 結束時斷言也會跟著結束。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。