プロセスとジョブの違い

コマンドを実行する時、内部の動きは以下のようになる。

  1. シェルからコマンドを実行

  2. カーネルはディスクから実行ファイルを読み出してメモリに入れる

  3. メモリ内容に従ってCPUがプログラムを実行する

プロセス
カーネルから見た処理の単位。 メモリ上で実行状態にあるプログラムのことを「プロセス」と呼ぶ。 「プロセス」にはLinuxのシステム全体で一意のIDがつけられる。
ジョブ
シェルから見た処理の単位(使う人間側から見た時の単位)。 シェルのコマンドラインに入力している1つの行が、1つのジョブに該当する。 ジョブはシェルごとにジョブ番号を持っている。

プロセスIDはlinuxのシステム全体で一意のIDだが、ジョブ番号は「シェル」の中で一意のIDなので、複数ターミナルを立ち上げている場合、同じジョブ番号を他のシェルから確認できる。(重複する)