リモートコンピューターにデータをダウンロードしているpythonスクリプトがあります。データのダウンロードが進行中の間、コンピューターがスリープ状態にならないようにしたいのですが、プログラムが終了/ハングした場合/ crashes、コンピュータをスリープ状態にしたい。
コンピューターの休止状態設定を無効にしたくありません。不眠症やコマンドラインショートカット( コマンドプロンプト/実行メニューからコンピューターをスリープ状態にするにはどうすればよいですか? )のようなプログラムを見回しましたが、それらは仕事に最適ではありません。 try:except:finallyをブロックして、pythonコードを囲み、関数を呼び出してコンピューターをスリープ状態にする方法はありますか?
Update:この回答は役に立ちました: コンピューターをスリープ状態にするために使用するコマンドは何ですか(休止状態ではありません)? 。 os.system呼び出しを使用してpython sleep
ブロックから呼び出すことができる小さな1行のfinally
アプリを作成しました。
この問題を回避する1つの可能な方法は、ネットワークアダプタの電源管理オプションを利用することです。
おそらく最初に4.2を提案し、それがネットワークアダプタで機能するかどうかを確認します。これにより、ネットワークアダプタの電源管理機能がアクティブになります。 4.1はそれらを完全に削除します。
または、マジックパケットをオンにして、python)内から使用して、コンピューターを起動状態に保つこともできます。ここから開始: Windows 7のネットワークデバイスの電源管理 。記事の最後にあるコメントに興味があります。
Windows 7ネットワークアダプターを「MagicPacketのみにコンピューターのウェイクアップを許可する」ように構成すると、無料のWolCmd.exeコマンドラインユーティリティを使用してMagicPacketを送信できます。この方法は100%信頼できるものではなかったため、ThinkpadのLANIPアドレスに転送される4つの異なるインバウンドUDPポートを使用して次のようにコマンドを4回送信するバッチファイルを作成しました。 4つの異なるポートを使用することは、「ウェイクアップ」と配信の信頼性を向上させる試みでした。コマンドを4回送信すると、確実に信頼性が向上しました。ファイアウォールを介して4つの異なるUDPポートを使用したことが違いを生んだかどうかはわかりません。
Wolcmdが利用可能です ここ 。