blog

ジョブについて

Linux講座

2017.10.31

ジョブについて

ジョブとは

ジョブはシェルが管理している作業のまとまりの事です。
例えば
$ls /usr/bin | less ←これはひとつのジョブとなります。ですがそのジョブの中では【ls】【|】【less】の三つのプロセスが動いています。

(プロセスについてはまた今度)

実行中のジョブはフォアグラウンドとバックグラウンドに切り替える事が出来ます。

フォアグラウンドとは、ユーザに見える処理。現在自分が操作している作業の事です。
バックグラウンドとは、ユーザからは見えない”裏”で処理される作業の事です。

通常コマンドプロンプトで作業を行っている場合、一つのコマンドを実行すると、その処理が終了するまで次のコマンド操作をする事はできません。
処理の完了まで時間がかかる作業だと、それが終了するまで待機をしなくてはなりません。
複数の作業を行いたい場合、処理に時間がかかるコマンドをバックグラウンドで実行させる事により、同時並行的に複数の作業を行う事が可能となります。マルチタスクですね。

例えばviコマンドでファイルを編集時、一時的に作業を中断して他のコマンドを実行したかったとします。

普通にviを終了させても良いのですが、それだと再度ファイルを開いた際にカーソルがファイルの先頭に戻ってしまうので、作業途中だった場合はまた該当の行に戻るのに手間が掛かってしまいます。

一時停止でviをバックグラウンドに持って行けば、裏ではviを実行したまま、要はファイルを開いたままになっているので、再度vi作業を再開するのが楽になります。

例えば、設定ファイルをviコマンドで編集していて、一時的に他の作業をしたかったとします。
blog_02

一時的に作業を停止させたい場合は
【Ctrl+z】です。


blog_03

ファイルが閉じられました。
一時停止中のジョブ含め、稼働中のジョブ一覧を表示させたい場合、【jobs】コマンドが使用できます。

blog_05

viコマンドが停止中である事がわかります。
作業を再開したい場合は【fg】コマンドで再開できます。

では、一時停止のジョブを複数作成した場合はどうなるでしょうか。
実行中のviコマンドを一時停止させ、違うファイルをviコマンドで開きます。

そしてそれも【Ctrl+z】で停止させます。
jobsで確認してみます。

blog_07

ジョブが二つに増えました。

表記の先頭の数字がジョブ番号です。番号の後ろに付いている【+】はカレントジョブ、【-】は一つ前のジョブを表します。
もし、一つ目のジョブをフォアグラウンドに戻したい場合は、jobsコマンドの後に番号を指定します。

blog_08

番号指定をしない場合はカレントジョブがフォアグラウンドに移ります。

これらが活用できれば作業効率も上がりますね。
次回はプロセスについてお勉強していきたいと思います。

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.