コマンドラインからどのようにサスペンド/ハイバネートできますか? を読むことで、コマンドラインからシステムをサスペンド/ハイバネートする方法を見つけることができました。
ただし、絶対(例、午後11時)または相対的(例、30分)で、コマンドラインを使用して特定の時間にサスペンド/休止状態にする方法を知りたいと思います。
私はすでにシャットダウンでこれを行う方法を知っていますが、コマンドが似ているかどうかは確かです。
at
コマンドを使用して、 その質問 で詳しく説明されているコマンドの実行など、アクションをスケジュールできます。
たとえば、30分で休止状態にする場合:
echo 'pmi action hibernate' | at now + 30 min
または、午後11:00に中断する場合:
echo 'pmi action suspend' | at 11pm
コマンドをroot
として実行する必要がある場合は、コマンド自体をat
で実行するのではなく、Sudo
でSudo
を実行します(パスワードを要求しないように構成していない限り、Sudo
は対話式でのみ実行する必要があるため)。たとえば、pm-hibernate
およびpm-suspend
を使用した上記のコマンドに相当するものは次のとおりです。
echo pm-hibernate | Sudo at now + 30 min
echo pm-suspend | Sudo at 11pm
相対的な指定(「30分後」など)の場合は、sleep
コマンドを使用して、一時停止/休止コマンドを待機させることができます。
30分待ってから中断します。
Sudo sleep 30m; Sudo pm-suspend
1時間待ってから、休止状態にします。
Sudo sleep 1h; Sudo pm-hibernate
繰り返される特定の時間-コンピューターのシャットダウンのように、毎日特定の時間です。 cronを使用します。
crontab -e
以下を追加します。
15 14 1 * * pmi action suspend
カスタマイズしたい場合。
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
一度だけの仕事のためにatコマンド
たとえば、30分で休止状態にする場合:
echo 'pmi action hibernate' | at now + 30 min
または、午後11:00に中断する場合:
echo 'pmi action suspend' | at 11pm