Unixコマンド/fgとbg

fgとbg

dokuwiki.fl8.jp掲載済

Point

UNIXでは、バックグラウンドで実行しているコマンドをフォアグランドで実行することができます。
バックグラウンドでプロセスが実行されている状態で、fgコマンドを実行すると、その時バックグランドで
実行されているコマンドがフォアグラウンドで実行されます。
時間のかかるコマンドをバックグラウンドで実行しておき、終了までの間に他の作業を行い、作業が先に終わったら、
バックグラウンドのコマンドををフォアグランドで実行する、というように利用します。

またフォアグラウンドでコマンドを実行していいるときに Ctrl+Z (sttyでsuspに設定されている制御コード)を押すと、
そのコマンドが一時停止されてコマンドプロンプトが表示され,他のコマンドが実行できます。
そのままでは最初のコマンドは一時停止されたままですが、コマンドプロンプトからbgコマンドを実行すると、
それまで一時停止されていたコマンドがバックグラウンドで実行再開されます。

コマンド例

$ jobs                             バックグラウンド実行されているジョブを表示する。
[1] - Running                find / -name hoge -print
$ fg                               バックグラウンドで実行されているジョブをフォアグラウンドで実行する。
$ [Ctrl + Z]                       フォアグラウンドで実行されているジョブを一時停止する。
$ bg                               フォアグラウンドで実行されているジョブバックグラウンドで実行再開する。