今日は、「Rtcwake」を使用してLinuxシステムをスリープモードまたは休止状態モードから自動的にウェイクアップする方法を説明する便利なトピックについて説明します。 効用。 rtcwakeは、Linuxシステムのスリープ状態または休止状態に入り、特定の時間に自動的にウェイクアップするために使用されます。システムの電源をオフにしてから再度オンにする必要はありません。システムをスリープモードまたは休止状態モードにして、指定された時間の後に戻って、データを収集し始めてください。
推奨ダウンロード -無料の電子書籍:「Elasticsearchチュートリアル」注意事項:
RTCはリアルタイムクロックの略であることに注意してください。 BIOSで設定できるのは実際にはハードウェアクロックです。 CMOSバッテリーまたはBIOSに問題がある場合、このコマンドは機能しません。 rtcwakeを正しく使用するには、BIOSで正しい時刻を設定する必要があります。また、このユーティリティを使用するには、root権限が必要なため、注意が必要です。このユーティリティを誤用すると、カーネルやシステムがクラッシュする可能性があります。
「rtcwake」ユーティリティを使用して、Linuxシステムをスリープモードまたはハイバネーションモードから自動的にウェイクアップします
RtcwakeはデフォルトでほとんどのLinuxオペレーティングシステムにプリインストールされているので、わざわざインストールしないでください。いくつかの実用的な例を示しましょう。 Arch Linuxデスクトップで次のコマンドをテストしましたが、期待どおりに機能しました。
rtcwakeコマンドの一般的な構文は次のとおりです。
$ rtcwake [options] [-d device] [-m standby_mode] {-s seconds|-t time_t}
特定の時間後にシステムをウェイクアップします
まず、このプログラムを実行する前に、実行中のプログラムを閉じているか、開いているドキュメントを保存していることを確認してください。 rtcwakeコマンドにはrootが必要です 働くための許可。
システムを一時停止し、60秒後にウェイクアップしましょう。これを行うには、次を実行します:
$ sudo rtcwake -m disk -s 60
サンプル出力は次のようになります:
rtcwake: assuming RTC uses UTC ... rtcwake: wakeup from "disk" using /dev/rtc0 at Fri Apr 21 09:04:49 2017
ここで
- -m モードを示します。
- -s システムのウェイクアップ時間を示します。私たちの場合、60秒を与えました。
rtcwakeコマンドは、次のモードをサポートしています。
- スタンバイ - -m について言及しなかった場合、これはデフォルトのモードです。 コマンドを切り替えます。この状態では、実際の電力節約は最小限に抑えられますが、稼働中のシステムに戻るまでの待ち時間は非常に短くなります。
- フリーズ -このモードでは、すべてのプロセスがフリーズし、すべてのデバイスが一時停止され、すべてのプロセッサがアイドル状態になります。
- mem -RAMへのサスペンド。この状態では、大幅な省電力を実現するメモリを除いて、すべてが低電力状態になります。 RAMの内容は保持されます。
- ディスク -ディスクへのサスペンド。この状態は、最大の電力節約を提供します。この状態は、Suspend-to-RAMと同様に動作しますが、メモリの内容をディスクに書き込む最後のステップが含まれます。
- の f-それはあなたのPCを完全にシャットダウンします。これは、「/ sbin/shutdown」を呼び出すことによって行われます。 ACPIによって公式にサポートされていませんが、通常は機能します。
- いいえ -一時停止せず、RTCウェイクアップ時間を設定するだけです。
- オン -一時停止しないでください。ただし、アラーム時刻が表示されるまでRTCデバイスを読み取ります。このモードはデバッグに役立ちます。
- 無効にする -以前に設定したアラームを無効にします。
- 表示 -アラーム情報を「alarm:off |on
特定の時間にシステムをウェイクアップ
-t を使用して、特定の時間にシステムをウェイクアップすることもできます。 以下の例に示すオプション。
$ sudo rtcwake -m no -l -t "$(date -d 'today 16:00:00' '+%s')"
サンプル出力:
ここで
- -いいえ -このオプションはPCを一時停止せず、RTCウェイクアップ時間を設定するだけです。
- -l </ strong> -BIOSで設定された現地時間を示します。
- -t $(date +%s -d‘today 16:00:00’) -ウェイクアップ時間を今日の午後4時に設定します。
役立つヒント: Linux / Unixコマンドの各引数の機能については、 Explainshellをご覧ください。 。
明日の特定の時間にシステムをウェイクアップする場合、コマンドは次のようになります。
$ sudo rtcwake -m no -l -t $(date +%s -d 'tomorrow 10:00')
上記のコマンドは、明日の午前10時にシステムをウェイクアップしますが、すぐに一時停止することはありません。
特定の日時にシステムをウェイクアップするには:
$ sudo rtcwake -m no -l -t "$(date -d '2017-04-25 16:00:00' '+%s')"
さらに、次の例に示すように、「&&」演算子を使用してシステムを起動した後、特定のプログラムを実行できます。
$ sudo rtcwake -m mem -s 60 && chromium
上記のコマンドは、システムをRAMに一時停止し、60秒後に起動して、chromiumWebブラウザーを起動します。かっこいいですね。
詳細については、manページを参照してください。
$ man rtcwake
推奨読書:
- 特定の時間にLinuxシステムを自動シャットダウン、再起動、一時停止、休止状態にする
そして、それがすべてです。これで、スリープまたは休止状態から特定の時間またはその後に、Linuxで実行されているコンピューターを自動的にウェイクアップする方法がわかりました。