ジョブ関連のビルトインコマンド

12月 26, 2009

jobs,fg,bg,disownなど、ジョブ関連のシェルビルトインコマンドについてざっくりメモ。
プロセスとジョブの違いは、Linuxカーネルが処理する単位がプロセスで、ユーザにとって
判りやすくした処理の単位がジョブ、と捉えておくとよい。
いずれのコマンドもジョブの指定に「% n」(nはジョブ番号)とする。

実行されたジョブはジョブテーブルと呼ばれるデータベースに保存され、jobsコマンドで
ジョブテーブルから情報を取り出すことができる。オプションなしで実行すると現在実行中
のジョブが表示される。

jbosコマンド オプション
-l PIDを追加してジョブリストを出力
-p PIDのみを出力
-n ステータスが変更されたジョブ情報を出力
-r 実行中のジョブのみ出力
-s 停止中のジョブのみ出力


fgコマンドはバックグラウンドで実行中/停止中のジョブをフォアグラウンドで再開する。
bgコマンドは停止中のジョブをバックグラウンドジョブに変更する。ジョブを指定しなかった場合はカレントジョブが対象となる。

killコマンドでジョブを停止
killコマンドはPID以外にジョブ番号を指定することもできる。
例えば特定のジョブを強制終了させるには、”$ kill -KILL %1 “などとする。
disownコマンドはジョブテーブルからカレントジョブを削除する。
ただしこの場合、ジョブテーブルから削除されただけでプロセスは終了していないためPIDは残る。

disownコマンド オプション
a すべてのジョブを対象とする
-r 実行中のジョブのみ対象とする

Categories: shell

No Responses so far | Have Your Say!

Comments are closed.