bgコマンド-Linuxは複数のプログラム(プロセス)を同時に動かすことができるマルチタスキングをサポートしています。端末(GUIであればGNOME端末等)で動かしている場合に、一つの端末で同時に一つのプロセスしか扱えないというのは不便です。そこで、ここではジョブコントロールという操作について紹介したいと思います。ジョブとは、1つ以上のプロセスが動いてひとまとまりの処理になっている場合の基本単位です。ジョブコントロールには2つの操作があります。文字通りプロセスを背後で動かすことです。して、sleepコマンドを使ってその仕組みを見てみましょう。sleepコマンドは、指定した時間だけ待つというだけのコマンドです。単体で使用することはあまりなく、プログラムを実行する際に時間調整として用いることがほとんどです。←10秒後にプロンプトが返るといった動作をします。バックグラウンド実行を紹介します。この操作を行うには、コマンドの最後に”&”を追加するだけです。バックグラウンド実行すると即座にプロンプトが返ってきます。5302この時に画面に表示されるのは、ジョブ番号(1)とプロセスID(5302)です。プロセスIDについては後述します。この場合、ジョブ番号1として動くことになったコマンドは、10秒後に終了するので、10秒以上経過した状態でプロンプトの書き換え(コマンドを実行してプロンプトが表示されるタイミング等)発生すると、通知が表示されます。プロセスを終了する際はキー操作として“Ctrl+z”を入力します。この操作を行うと、実行中のプロセスが停止状態になります。10【コマンド説明】fg:foregroundこのコマンドは止めていたプロセスをフォアグラウンドで再開させます。フォアグラウンドで再開した場合は、そのプロセスを停止もしくは終了させるまでプロンプトは返ってきません。bg:backgroundこのコマンドは止めていたプロセスをバックグラウンドで再開させます。通常のコマンドに”&”を付けて実行するのと同じになります。jobs実行中のジョブを表示します。複数のプログラムを実行している場合や、どのプログラムが待機状態になっているか忘れてしまった時に使います。【動画説明】sleepコマンドで一度停止させたジョブをfgコマンドでフォアグラウンド実行してみましょう。10次に、停止しているジョブをバックグラウンドで再開させてみましょう。この場合、ジョブの指定は“%ジョブ番号”という記述になります。バックグラウンド動作中のプロセスは、一部の例外を除き、端末終了時に一緒に終了してしまうので、重要な作業をバックグラウンドで走らせている場合には注意して下さい。03-5295-8424solutions[at]amulet.co.jp※[at]の部分を@に変えてご利用下さい。