プログラミングをするエディタの機動の時やプログラムを実行する時、それぞれの操作を細かい仕事単位であるタスク(プロセス)に分解して処理しています。OSは、コンピュータのあちこちで無駄な時間ができないように、タスク単位で細かくCPUや主記憶を割り当て、コンピュータ全体として効率的な処理が行われるように制御しています。
ジョブ
ジョブとは
人間から見た仕事の単位(単一のプログラムや連続的な一連のプログラム群)
ジョブのコマンド
jobs
ジョブの一覧を表示する
※オプション
-l プロセス番号も表示する
ジョブの状態 | |
+ | 直前に実行あるいは停止状態になったジョブ(カレントジョブ) |
– | カレントジョブの1つ前のカレントジョブ |
無印 | それより前に実行したジョブ |
bg
停止中のジョブをバックグランドモードで再開する
※ジョブIDを指定しなければ、カレントジョブが再開される。
fg
停止中のジョブやバックグランドで実行中のジョブを、フォアグランドで実行する。
※ジョブIDを指定しなければ、カレントジョブが再開される。
プロセス(タスク)
プロセスとは(システムによってはタスクとも言う)
ジョブをコンピュータが処理できる単位に分解したもの。(OSの下で実行される内部処理)
※ゾンビプロセスとは、役目を終えているのにメモリを解放しない状態のプロセスのこと。
プロセスのコマンド
ps
プロセスの状態を表示する
サーバーアプリケーションはバックグランドで実行されるため、動作しているか確認するためには、psコマンドを使う。またpsコマンドから、各プロセスがどの程度CPUやメモリを消費しているかもわかる。
※オプション
a | 全ユーザーのプロセスを表示する |
x | 制御端末のないプロセスの情報も出力する |
u | プロセスの詳細情報(プロセスの所有者やCPUの使用率)を出力する |
w | 出力幅を広げる |
f | プロセスの親子関係をツリー状にして表示する |
-e | 全てのプロセスを表示する |
-f | 多くの情報を表示する |
-F | より多くの情報を表示する |
kill PID
PIDで指定される現在動作しているプロセスを終了させる。
※オプション
-TERM | 終了命令を送る(デフォルト) |
-KILL | 強制終了命令を送る |
-INT | 中断命令を送る Ctrl-cと同じ |
-STOP | 停止命令を送る Ctrl-zと同じ |
-HUP | 元の意味は端末の切断だが、設定ファイルの読み直し命令として使われることが多い |
-CONT | 停止したプロセスに対する再開命令を送る |
killall
プロセスIDではなく、プロセスの名前を指定してシグナルを送る。オプションはkillコマンドと同じ
nice [number] command
Commandの実行の優先度を調整する
top
定期的に実行中のプロセスを監視して、リソース(CPU)の使用率順にプロセスを並べて表示する
ジョブの状態の推移
