0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントに長時間タスクを任せるとき、Macがスリープして処理が止まる問題を caffeinate コマンドで解決する

0
Posted at

実行コマンド

caffeinate -dimsu

作業を始める前にこれをターミナルで実行しておくだけで、Macが自動スリープしなくなり、バックグラウンドで動いているAIエージェントの処理(長時間のコード生成・画像生成・リサーチなど)が途中で止まらなくなります。

なぜ処理が止まるのか

AIエージェントに処理を任せて席を離れると、戻ってきたときに途中で止まっていることがあります。原因はエージェント側ではなく、macOSの電源管理です。無操作状態が一定時間続くと自動でスリープに入り、CPU処理ごとバックグラウンドのプロセスも止まってしまいます。

caffeinateとは

macOS標準搭載のコマンドで、指定した条件の間だけスリープを抑止できます。インストール不要でターミナルからすぐ使えます。オプション一覧はman caffeinateで確認できます。

主要オプション

オプション 効果
-d ディスプレイをスリープさせない
-i アイドルスリープを防止
-m ディスクのアイドルスリープを防止
-s システムスリープを防止(AC電源接続時のみ有効)
-u ユーザーがアクティブであると宣言する
-t <秒数> 指定秒数だけ効果を持続
-w <PID> 指定プロセスが終了するまで効果を持続

長時間作業を任せるときはcaffeinate -dimsuでまとめて指定すれば十分です。

コマンドに直接渡して使う

caffeinateにコマンドを渡すと、そのコマンドが終了すると同時にスリープ抑止も解除されます。ターミナルを開きっぱなしにする必要がなく運用しやすい方法です。

caffeinate -dimsu ./generate_images.sh

動いているプロセスに後から適用する

対策を忘れて実行してしまった場合は、PIDを指定して後付けできます。

ps aux | grep claude
caffeinate -dimsu -w 12345

終了方法

オプションのみで実行した場合はControl + Cで停止します。ターミナルを閉じても効果は消えます。

画面ロックとの併用

caffeinateが防ぐのは自動スリープのみで、手動でスリープを選んだ場合やバッテリー駆動中に蓋を閉じた場合は通常通り止まります(-sはAC電源接続時のみ有効)。

離席時にセキュリティも確保したい場合は、スリープではなくControl + Command + Qで画面ロックを使うと、システムを起動したままバックグラウンド処理を継続できます。

caffeinate -dimsu でスリープ防止
      ↓
AIに指示
      ↓
Control + Command + Q でロック
      ↓
処理を止めずに安全に離席

まとめ

  • macOSは無操作が続くと自動スリープし、バックグラウンドのAI処理も止めてしまう
  • caffeinate -dimsuで自動スリープを抑止できる
  • コマンドを直接渡すか(caffeinate -dimsu <コマンド>)、-wでPID指定すれば必要な間だけ効果を持続できる
  • -sを使うならAC電源接続が前提
  • 離席時はControl + Command + Qの画面ロックと組み合わせると安全
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?