今朝、私は非常に長時間実行されるスクリプトを次のように開始しました。
caffeinate python spam.py
数時間後にコンピューターにチェックインしたとき、コンピューターは眠っていました。マウスを動かすと、スクリプトは正常に実行を再開しました。私はカフェイン入りの男性を見てきましたが、実際に使用する必要があるようです。
caffeinate -s python spam.py
または
caffeinate -i python spam.py
-sと-iの間を選択するときに、何を考慮する必要がありますか?ユーティリティの実行中にカフェインが実行されているときに、システムが完全にスリープしないようにすることと、アイドル状態でスリープすることの違いは何ですか?
-s
オプションは、ラップトップで一般的に使用されます(蓋が閉じている場合、システムは強制的にスリープ状態になります)。 -s
は、バッテリーを使用していない場合にのみ適用されます。バッテリーの電力が制限されている場合、システムは何があってもスリープ状態になります。
-i
は、システムが一定期間使用されなかった場合に発生するアイドルスリープ用です。
必要に応じて、両方のオプションを使用してシステムを元気に保つことができることに注意してください。
caffeinate -is python spam.py
Mac開発者ライブラリ から、アイドルスリープと(強制)スリープの違いは次のとおりです。
強制スリープは、ユーザーが何らかの直接アクションを実行してマシンをスリープ状態にしたときに発生します。ラップトップの蓋を閉めるか、Appleメニューからスリープを選択すると、両方とも強制スリープが発生します。システムは、熱緊急事態やバッテリ低下などの特定の条件下でも強制スリープを引き起こします。
アイドルスリープは、省エネシステム環境設定で設定された特定の期間マシンが使用されていない場合に発生します
あなたが参照しているpythonスクリプトについてはよくわかりませんが、コンピュータをスリープモードにしないようにしたい場合は、 Caffeine)という便利なアプリケーションがあります。 それはあなたのためにそれをします。
次の行を〜/ Library/LaunchAgentsフォルダーにcaffeinate.plistなどのplistファイルとして保存します。ログインすると自動的に起動します。画面やハードドライブがスリープ状態にならないようにするオプションがあります。ただman caffeinate
。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE plist PUBLIC "-//Apple Computer/DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<dict>
<key>Label</key>
<string>org.caffeinate.plist</string>
<key>Program</key>
<string>/usr/bin/caffeinate</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/caffeinate</string>
<string>-i</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>