OS X:http接続中にコンピュータがスリープ状態にならないようにする方法

OS X:http接続中にコンピュータがスリープ状態にならないようにする方法

私が使用しているアプリケーションは特定のサーバーからデータをダウンロードし、ダウンロードが完了してソケットが閉じた後にスリープモードに入る必要があります。

ただし、ダウンロードはランダムに発生し、ダウンロードしたアプリはアップデートを確認し、利用可能なアップデートのみをダウンロードします。

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.1.29.51005     8.8.8.8.80      ESTABLISHED

8.8.8.8 このデータをダウンロードするサーバーであると仮定します。

特定のサーバーとのHTTPセッション中にコンピュータがスリープ状態になるのを防ぐ方法はありますか?

今、擬似スクリプトをご了承ください。しかし、これが私が試すことができる最善です。

netstat -anp tcp 
IF Foreign Address = 8.8.8.8 & state = ESTABLISHED
then
    WAIT AND CHECK IN 10 MINUTES
else
    pmset sleepnow
fi

答え1

Mac OS X 10.8以降、次のものが利用可能です。caffeinate(8)注文する。

努力するcaffeinate -s curl http://example.com/some/url

答え2

擬似コードをshに変換する場合、以下はifのテストです。

netstat -anp|grep EST|sed 's/^..p6\? \+[^ ]\+ \+[^ ]\+ \+[^ ]\+ \+\([^ ]\+\) \+.*$/\1/'|grep -q 8.8.8.8 && echo connected

sleep 10mしたがって、whileループとaとaが必要ですpmset 0が、私のosxボックスが保存されているので、私のre.aをチェックすることをお勧めします。

関連情報