コマンドラインからシステムをサスペンド/休止状態にする方法を見つけることができました。コマンドラインからどのようにサスペンド/休止状態にできますか?。
ただし、コマンドラインを使用して、絶対(例、午後11時)または相対(例、30分)で、特定の時間にサスペンド/休止状態にする方法を知りたいと思います。
シャットダウンでこれを行う方法は既に知っていますが、コマンドが似ているかどうかは確かです。
コマンドラインからシステムをサスペンド/休止状態にする方法を見つけることができました。コマンドラインからどのようにサスペンド/休止状態にできますか?。
ただし、コマンドラインを使用して、絶対(例、午後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
and を使用する上記のコマンドと同等のものは次のとおり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
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
cron
特定の時刻、または特定の曜日、特定の月、または特定の年の特定の時間にサスペンドまたは休止状態にすることが目標である場合、使用することは良い解決策です。しかし、単一のサスペンドまたはハイバネーションをスケジュールするために、それはEdericoが求めていたものであるように思われます(そして、それはもっとやりたいことです)、at
コマンドを使用する必要があります。(cron
たとえば、sed
またはを使用して、関連するcrontabをイベントに編集することにより、単一のイベントをスケジュールできますがawk
、これは非常に複雑で不要です。使用してくださいat
。)
cat
左側にコマンドがある場合、それを式()に置き換えることができます。ただし、の左側にコマンドがある場合、それを式で簡単に置き換えることはできません。|
cat foo | bar
<
bar < foo
echo
|
<