OpenWindows ユーザーズガイド (上級編)

プロセスと PID

各コマンドがシステムによって解釈されると、一意のプロセス識別番号 (PID) を持つ独立したプロセスが生成され、そのコマンドが実行されます。システムは PID を使って各プロセスの現在の状態を追跡します。

現在実行されているコマンドの表示 (ps)

現在実行されているプロセスを調べるには、ps コマンドを使います。ps コマンドでは、ユーザが所有する各プロセスのプロセス識別番号 (PID の下に表示される) の他に、プロセスが起動された端末 (TTY)、現在までにプロセスが使った CPU 時間 (TIME)、プロセスが実行しているコマンド (COMMAND) などが表示されます。

ps コマンドに -l オプションを追加すると、現在実行されているプロセスに関するさまざまな詳細情報 (S の下に表示される各プロセスの状態など) が表示されます。プロセスの状態を示すコードの意味は次のとおりです。

ps コマンドの実行中でもプロセスの状態は変化します。ps で取得できる情報は特定時点の実行状態のスナップショットのため、その出力結果は、ps を入力した直後のほんの僅かの時間にしか適用できません。したがって、状態情報が表示された時点で、すでに変わっている可能性もあります。

ps コマンドにはこの節で説明している以外に多数のオプションがあります。詳細については、『SunOS リファレンスマニュアル (1): ユーザーコマンド』を参照してください。

プロセスの終了方法 (kill)

kill コマンドを使うと、不要になったコマンドプロセスを直接終了できます。このコマンドは、実行に長時間かかるコマンドを誤って入力した場合に特に便利です。

プロセスを終了するには、次の手順を実行します。

  1. ps コマンドを入力して終了したいプロセスの PID を検索します。

  2. PID を指定して kill コマンドを入力します。

次の例は、上記の手順を示しています。

$ ps
PID    TTY    TIME    COMMAND
1291   co     0:12    -bin/csh (csh)
3250   p0     0:00    ps
1286   p1     0:05    -bin/csh (csh)
3248   p1     0:05    vi commands
$ kill 1291
[1}  Terminated       -bin/csh/ (csh)
$

ps の出力結果を grep コマンドを通じてパイプすると、適切な PID を簡単に見つけることができます。

$ ps | grep commandname

commandname は、終了させたいコマンドプロセス名です。

プロセスを強制終了する場合は、次に示すように ps コマンドの -9 オプションを使えます。

$ kill -9 PID#

PID# は、強制終了させたいプロセスのプロセス識別番号です。