&
コマンドの最後にアンパサンド()を付けることで、バックグラウンドでアプリケーションを実行できることを知っています。例えば:
$ 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