【プロセス管理2】Kill、バックグラウンド

こちらでは、プロセスを終了したり、バックグラウンドで実行するコマンドについて解説します。

プロセスとは?

プロセスとはメモリ上にある実行中のひとつひとつのプログラムです。

killコマンド

kill は、プロセスを終了させるためのコマンドです。

使用用途

  • 時間のかかるコマンドを誤って実行してしまった
  • ゾンビプロセス(実態はないのにプロセステーブルに存在するプロセス)に対処

基本的な使い方

psコマンドでプロセスIDを確認します。

$ ps aux

プロセスIDとシグナルを指定して実行します。

$ kill シグナル番号 PID

コマンドを強制終了したい場合

$ kill -9 PID

シグナルについて

プロセス間の通信をするための信号で、プロセスの状態を遷移することができます。

プロセスはスーパーユーザーからのシグナルを受け取ることができます。

プロセスのジョブ

ジョブとはひとつ以上のプログラムの実行単位のことです。コマンドを入力して実行するとひとつのジョブとしてカウントされるので、コマンドがひとつでもジョブになります。

ジョブには二種類あります。

**フォアグラウンドジョブ:**シェルの画面内で実行される。ふつうにターミナルでコマンドを実行する場合フォアグラウンドジョブになる。

**バックグラウンドジョブ:**シェルの画面外で動作する。処理は実行されているが、ユーザーの操作対象ではない。

バックグラウンドで実行

コマンド &

実行中のジョブを表示

jobs

バックグラウンドジョブをフォアグラウンドに戻したいとき

fg %ジョブID

フォアグラウンドジョブをバックグラウンドジョブにしたいとき

bg %ジョブID

これらは実際に手を動かしてみるとよく理解できるので、シナリオを起動して演習で学んでいきましょう。

右上のゲーム感覚でコマンド練習してみるボタンを押してください。