ターミナルガイド

caffeinate コマンドで Mac をスリープさせない

macOS には caffeinate という小さなコマンドラインツールが標準で付いています。ビルドやダウンロード、長いAIコーディングセッションなど、大事な処理が動いている間、Mac がスリープするのを防ぎます。標準搭載なのでインストールは不要で、ターミナルを開けばすでに /usr/bin/caffeinate にあります。このガイドでは、各フラグの働き、ターミナルにそのまま貼り付けられる例、そして頼りにする前に知っておきたい制限を紹介します。

caffeinate とは

caffeinate コマンドは、一時的なスリープアサーション — あるタイプのスリープを保留するよう macOS に求めるリクエスト — を作成します。フラグなしでは、アイドルスリープを防ぎ、あなたが止めるまでそのアサーションを保持します。実行するプログラムを渡すと、そのプログラムが動いている間だけアサーションを保持し、終わると自動的に解放します。そのため、実行時間が事前にわからない単一のコマンドを包むのに最適です。

管理者権限は不要で、ディスクには何も書き込まず、ログイン項目も追加しません。コマンドが終了すればアサーションは消え、Mac は通常の電源動作に戻ります。

フラグ一覧

これらの1文字のフラグを組み合わせて、どの種類のスリープを止めるかを正確に指定します。まとめて書けるので、-di は -d -i と同じです。

フラグ働き
-dディスプレイのスリープを防ぎます(画面が点いたままになります)。
-iシステムのアイドルスリープを防ぎます。フラグを一切指定しなかったときの既定の動作です。
-mディスクのアイドルスリープを防ぎます。
-sシステムのスリープを完全に防ぎます。このアサーションが有効なのは電源アダプタ接続時のみで、バッテリー駆動時は無視されます。
-uユーザーがアクティブであることを宣言します。ディスプレイが消えていれば点け直します。-t がなければ既定で5秒のタイムアウトになります。
-t <seconds>アサーションを解除するまでの秒数を指定します。プログラムを起動するときはこのタイムアウトは無視されます。
-w <pid>指定した PID のプロセスが終了するまで待ってから、アサーションを解放します。あわせてプログラムを起動する場合は無視されます。

コピーして使える例

いずれもターミナルに貼り付けてください。それぞれが完結したコマンドです。

caffeinate -i bun run build

ビルドを実行し、かかる時間だけ Mac を起きたままにします — ビルドが終わった瞬間にアサーションが解放されます。

caffeinate

フラグもプログラムも指定しないと、Control-C で止めるまでアイドルスリープを防ぎます。

caffeinate -di -t 3600

ディスプレイとシステムの両方を起きたままにし、3600秒(1時間)後に自動でアサーションを解除します。

caffeinate -w 12345

PID 12345 のプロセスが終了するまでアサーションを保持します — 別の場所で始めたジョブを見守るのに便利です。

caffeinate -s make

長いジョブが動いている間、システムの完全なスリープを防ぎます。注意:-s は電源アダプタ接続時のみ有効です。

落とし穴と制限

caffeinate は大ざっぱな道具です。つまずきやすい点がいくつかあります。

メニューバーアプリが caffeinate に勝るとき

caffeinate は、終わりを見届けられる単発のコマンドには最適です。しかし AI コーディングエージェントを日常的に動かすなら、手動の起動/停止やバッテリー配慮のなさがすぐに面倒になります。その隙間を埋めるのが Perked です。macOS ネイティブのメニューバーアプリで、面倒な管理をあなたの代わりに引き受けます。

ターミナルの見張りはもう終わり

買い切り、ずっとあなたのもの — 今日は€1、この価格はずっと固定されます。

料金の全ステップを見る →

よくある質問

caffeinate は macOS に標準搭載されていますか?

はい。caffeinate はどの新しめの macOS にも /usr/bin/caffeinate として付属しています — インストールは不要です。ターミナルを開いて実行してください。

caffeinate はバッテリー駆動時も Mac を起きたままにしますか?

-i と -d のアサーションはバッテリー駆動時も働きますが、caffeinate はバッテリーを考慮せず、残量を消耗させます。-s のシステムスリープ用アサーションは、電源アダプタ接続時でなければ無視されます。

caffeinate はどうやって止めますか?

動いているターミナルで Control-C を押すか、プログラムの終了・PID の終了・-t タイムアウトの経過で自然に終わるのを待ちます。そのターミナルのタブを閉じても止まります。

caffeinate は AI エージェントの開始と終了を検知できますか?

いいえ。caffeinate は完全に手動で、起動と停止はあなたが決めます。Perked のようなメニューバーアプリは、コーディングエージェントを監視し、実際に動いている間だけ Mac を起きたままにします。

長いエージェントセッションを動かしていますか?Claude Code・Cursor・AIエージェントのために Mac を起きたままにする方法をご覧ください。

← Perkedに戻る