通常、学校に行く前にダウンロードを開始します。
特定のタスクが完了した後、必要な保存を自動的に行い、コンピューターの電源を切るには、どのコマンドを使用する必要がありますか?
(更新プログラムをインストールした後、または大きなファイルをダウンロードした後に言います。)
askubuntuにもクロスポストしました。
通常、学校に行く前にダウンロードを開始します。
特定のタスクが完了した後、必要な保存を自動的に行い、コンピューターの電源を切るには、どのコマンドを使用する必要がありますか?
(更新プログラムをインストールした後、または大きなファイルをダウンロードした後に言います。)
askubuntuにもクロスポストしました。
回答:
開始タスクに依存します。何らかのコマンドラインツールである場合は、単に実行するhalt
か、またはshutdown -h now
:
wget http://..../somelargefile; halt
- halt
後に実行されますwget
wget http://..../somelargefile && halt
- エラーが返されないhalt
場合に実行されますwget
wget http://..../somelargefile || halt
- エラーが返さhalt
れた場合に実行されますwget
これに代わるものを使用するkshutdown
-このアプリでは、実行するアクション(リブート/シャットダウン/休止状態/ etcまたはコマンドの実行)とタイミング(一定時間後または別のアプリケーションの終了時)を指定できます。このツールを使用する場合は、正しいプロセスを選択する必要があります-一部の更新ユーティリティは、いくつかのサブプロセスを開始します。
shutdown
、実際のイベントを待つ方法はありません。
すべてのプロセスには、proc
ファイルシステム内のプロセスID(pid)に応じた名前のディレクトリがあります。したがって、ディレクトリが繰り返し存在するかどうかを確認することにより、特定のプロセスの終了を待つことができます。
これを使用して、次のようにプロセス終了後にシステムのシャットダウンを実行できます(待機するpidを2296に置き換えます)。
su -c 'while [[ -d /proc/2296 ]]; do sleep 1; done; poweroff'
利点:
sudo
-passwordプロンプトを回避する必要はありません)。短所:
ps
同じ端末でまだ開いている端末から何かを開始した場合は、CMDのPIDを見つけるのに役立ちます。プロセスが別のターミナルにあった場合、またはgrepを介してすべてのps出力をピップしてコマンドをフィルター処理すると、見つけやすくなりますps -elf | grep <command_related_word>
pgrep
別名プロセスはgrep ...
shutdown
待つ時間を与えることもできます。そのためにkshutdownを使用する必要はありません。