バックグラウンド・プロセスを除去する (kill コマンド)

INTERRUPT キーを押しても、フォアグラウンド・プロセスが停止されない場合、またはバックグラウンド・プロセスを開始した後、プロセスを完了させないことを決めた場合、kill コマンドを使用してプロセスを取り消すことができます。

kill コマンドを使用してプロセスを取り消すためには、そのプロセスの PID 番号を知っていることが必要です。 kill コマンドの一般的なフォーマットは次のとおりです。
kill ProcessID
注:
  • プロセスを除去するには、root ユーザー権限を持っているか、あるいはそのプロセスを開始したユーザーでなければなりません。 kill コマンドからプロセスへのデフォルト・シグナルは、-15 (SIGTERM) です。
  • ゾンビ・プロセスを除去するには、その親プロセスを除去する必要があります。
  1. 除去したいプロセスのプロセス ID を判別するには、ps コマンドを使用します。 このコマンドを grep コマンドにパイピングして、必要なプロセスだけのリストを表示させます。 例えば、vi セッションのプロセス ID が必要な場合は、次のように入力します。
    ps -l | grep vi
  2. 次の例では、find コマンドを出してバックグラウンドで実行します。 その後、このプロセスを取り消すことを決めました。 ps コマンドを出して、PID 番号をリストします。
    $ find / -type f > dir.paths &
    [1]    21593
    $ ps
       PID   TTY  TIME  COMMAND
      1627  pts3  0:00  ps
      5461  pts3  0:00  ksh
     17565  pts3  0:00  -ksh
     21593  pts3  0:00  find / -type f
    $ kill 21593
    $ ps
       PID   TTY  TIME  COMMAND
      1627  pts3  0:00  ps
      5461  pts3  0:00  ksh
     17565  pts3  0:00  -ksh
    [1]  +  Terminated 21593     find  /  -type f > dir.paths  &

    kill 21593 コマンドは、バックグラウンドの find プロセスを終了させ、2 番目の ps コマンドは、PID 21593 に関する状況情報を戻しません。 システムは、ユーザーが cd コマンドの場合を除いて、次のコマンドを入力するまで、終了メッセージを表示しません。

    kill コマンドを使用すると、バックグラウンド・プロセスを取り消すことができます。 誤ってプロセスをバックグラウンドにしてしまった場合や、プロセスの実行時間が長過ぎることに気付いた場合は、この処理が必要になることがあります。

以下のように入力して、kill コマンドを smit でも使用できます。
smit kill