fg - ジョブをフォアグラウンド処理にする

スポンサーリンク

fgコマンドは、バックグラウンド処理しているジョブや停止中のジョブをフォアグラウンド処理にすることができます。

バックグラウンド処理は

のようにコマンドの最後に'&'をつけることで処理を行うことができます。

また、実行中の処理を停止したい場合はCtrl+zを入力することでファアグラウンドで実行中の処理が停止されます。

スポンサーリンク

fgコマンドの利用例

jobsコマンドを利用することでシェルで実行中のジョブを確認することができます。

 

jobs - シェルで実行しているジョブを確認する
jobsコマンドはbashの組み込みコマンドで、シェルで実行しているジョブを確認できます。シェルでのジョブは'%'の文字から始まるジョブスペックで指定できます。 ジョブスペックはジョブをファアグラウンド実行にするfgコマンドやバックグラウン...

 

ジョブをフォアグラウンド処理にしたい場合はfgコマンドでジョブスペック('%1'や'%2'のような指定方法)で指定することでそのジョブをフォアグラウンド処理にできます。

fgコマンドでジョブスペックを指定しない場合はカレントジョブ(jobsコマンドで'+'の記号がついているジョブ)がフォアグラウンド処理になります。

 

また、カレントジョブは直近で停止させたジョブになるので、ここでjobsコマンドを用いるとカレントジョブが変更されていることを確認できます。

 

 

停止中のジョブを再開した場合に利用できるシグナル

停止中のジョブを再開したときに利用できるシグナルにSIGCONTシグナルがあります。

trapコマンドでSIGCONTシグナルを指定することでプログラムが再開したときに何か簡単な処理を行うことができます。

test.sh

コマンド例と実行結果

 

 

参考

Bash Reference Manual