&コマンドの最後にアンパサンド()を付けることで、バックグラウンドでアプリケーションを実行できることを知っています。例えば:
$ rtorrent &
[1] 4618
rtorrentバックグラウンドで開始します。
バックグラウンドに戻りrtorrent、ダウンロードが完了したかどうかを確認します。どうやってやるの?
&コマンドの最後にアンパサンド()を付けることで、バックグラウンドでアプリケーションを実行できることを知っています。例えば:
$ rtorrent &
[1] 4618
rtorrentバックグラウンドで開始します。
バックグラウンドに戻りrtorrent、ダウンロードが完了したかどうかを確認します。どうやってやるの?
回答:
実行fgしてジョブをフォアグラウンドに戻します。つまり、端末の制御を戻します。複数のバックグラウンドジョブがある場合、実行はjobsリストを参照し、fg %1、fg %2、など、フォアグラウンドに戻すためにどのジョブを選択します。詳細については、ジョブ制御に関するウィキペディアの記事を参照してください。
プログラムがフォアグラウンドで実行されている場合は、Ctrl+ Zを押して中断します。これを行うと、シェルプロンプトが表示されます。実行bgしてプログラムを実行し続けますが、バックグラウンドで実行します。
バックグラウンドジョブが終了すると、シェルは次回プロンプトを表示するときに通知を出力します。バックグラウンドジョブが端末からの入力を必要とする場合、自動的に一時停止(「停止」)されます。fg(またはfg %42必要に応じて)再開します。
プログラムが終了したときに、より目に見える通知をトリガーする場合は、次のようなものを実行できます
fg; play bell.ogg & xmessage "torrents downloaded"
fgコマンドが返すプログラムが終了し再開することなので、何でもあなたが後に実行するシェルに語ったことはfg、プログラム終了実行されます。Ctrl+ Zを押してジョブをバックグラウンドに戻すと、シェルは待機を停止し、次のコマンドをすぐに実行することに注意してください。
jobsおよびfgまたはfg %n「フォアグラウンド」のFG