スリープと電源
caffeinateでターミナルからMacをスリープさせない
caffeinateコマンドを使うと、タスクの実行中はMacがスリープしません。macOSに含まれていて、設定は何も変更しません。
症状
- Macがスリープすると、ダウンロード、ビルド、スクリプトが止まる。
- 入力がないまま数分たつと、リモートセッションやSSH接続が切れる。
- 1つのタスクの間だけMacを起こしておきたいが、スリープの設定は変えたくない。
考えられる原因
- アイドル時のスリープ。キーボードやマウスの入力がない状態が続くと、macOSはMacをスリープさせます。ネットワークの通信だけでは、これを止められないことがあります。
- ディスプレイのスリープ。ディスプレイは独自のタイマーでオフになります。Macによっては、そのあとシステムもスリープします。
- 蓋。Macノートブックの蓋を閉じるとスリープします。
caffeinateではこれは変わりません。蓋を閉じた状態でMacノートブックを動かし続けるを参照してください。
確認方法
「ターミナル」を開きます。今スリープを妨げているプロセスを確認します。
pmset -g assertions出力
PreventUserIdleSystemSleepなどのアサーションの一覧と、それぞれを保持しているプロセス。現在使われているスリープ設定を確認します。
pmset -g
解決方法
1つのコマンドの実行中だけMacを起こしておくには、コマンドの前に
caffeinate -iを付けます。コマンドが終わるとアサーションも終わります。caffeinate -i make決まった時間だけMacを起こしておくには、
-tで時間を秒単位で指定します。この例は2時間です。caffeinate -i -t 7200あるプロセスが終わるまでMacを起こしておくには、
-wでそのプロセスIDを指定します。caffeinate -i -w 12345ディスプレイもオンのままにするには、
-dを追加します。caffeinate -d -iコマンドなしで起動した
caffeinateを止めるには、Control-Cを押します。ディスプレイがオフのときの自動スリープを止めるには、設定を変更します。Macノートブックでは、アップルメニュー>「システム設定」>「バッテリー」>「オプション」を選択します。「電源アダプタ接続時はディスプレイがオフのときに自動でスリープさせない」をオンにします。
Macデスクトップでは、アップルメニュー>「システム設定」>「エネルギー」を選択します。「ディスプレイがオフのときに自動でスリープさせない」をオンにします。
Kilobatを使う場合
Kilobatは、ダウンロードが静かになるまでMacをスリープさせず、そのあとスリープさせることができます。メニューバーからKilobatを開きます。ティーカップをクリックし、「ダウンロードが終わるまで」を選択します。
CLIでも同じことができます。16 KB/s未満の状態が3分続くと終了します。
kilobat awake --until-quiet1つのコマンドの実行中だけMacをスリープさせず、そのコマンドが転送したデータ量も確認するには、
awake --を使います。kilobat awake -- make releaseこれらの機能は無料です。アプリ、CLI、MCPでの手順はレシピを参照してください。
よくある質問
caffeinateを使えば、蓋を閉じてもMacはスリープしませんか?
いいえ。caffeinateが止めるのはアイドル時のスリープです。外部ディスプレイ、キーボード、電源を使っている場合を除き、Macノートブックは蓋を閉じるとスリープします。蓋を閉じた状態でMacノートブックを動かし続けるを参照してください。
-sオプションは何をしますか?
-sはシステムスリープを止めます。manページによると、MacがAC電源につながっているときだけ有効です。
caffeinateで設定は変わりますか?
いいえ。電源アサーションを作成するだけです。アサーションはcaffeinateが終了すると解除されます。
出典
- caffeinate(8)、macOS 27.2に付属のmanページ
- pmset(1)、macOS 27.2に付属のmanページ
- Appleサポート:Macのスリープとスリープ解除の設定を行う
出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。