Bash でプロセスを強制終了する

Dr. Muhammad Abdullah 2024年2月15日
  1. 単純なプロセスと Bash プロセス
  2. プロセス識別番号 (PID)
  3. Bash でプロセスを強制終了する
Bash でプロセスを強制終了する

この記事では、最初に Linux プロセスに関連するさまざまな概念について説明します。 この後、プロセスを強制終了するさまざまな方法を学びます。

kill コマンドに飛び込む前に、いくつかの予備的な概念を確認する必要があります。

単純なプロセスと Bash プロセス

オペレーティング システムでアクティブまたは実行中のプログラムは、プロセスと呼ばれます。 たとえば、エディタやブラウザを実行すると、オペレーティング システムはそれぞれのプロセスを作成します。

一方、Bash を介してシステムで実行される単純な実行可能ファイルは、Bash プロセスと呼ばれます。 たとえば、Bash シェルを介した電卓などのアプリケーションを実行するたびに、新しい Bash プロセスが作成されます。

プロセス識別番号 (PID)

実行中のすべてのプロセスに割り当てられる一意の番号または識別子は、PID (プロセス識別子) と呼ばれます。 ps コマンドは、実行中のすべてのプロセスとその PID を表示します。

  1. ps コマンドは、実行中のすべてのプロセス PID を表示します。 例えば:

    psコマンド出力

  2. pidof コマンドは、実行中のプロセスの PID も表示します。 プロセス名を使用して、実行中のプロセスの PID を見つけることができます。

    pidof コマンド出力

    上の図は、sleep コマンドがバックグラウンドで実行され、pidof コマンドを使用してそのプロセスの PID を見つけることを示しています。

  3. pgrep コマンドは、実行中のプロセスの PID も表示します。 pgrep コマンドを使用して、プロセス名で PID を grep できます。

    pgrepコマンド出力

    上の図は、sleep コマンドがバックグラウンドで実行され、pgrep コマンドを使用してそのプロセスの PID を見つけることを示しています。

Bash でプロセスを強制終了する

Bash で実行中のプロセスを強制終了するには、多くのオプションがあります。 使用できるオプションの一部を次に示します。

Ctrl+C シグナルを使用する

Ctrl+C キーを使用して、実行中のプロセスを中断または強制終了し、SIGINT を送信できます。 Ctrl+C は割り込み信号を送信し、実行中のプログラムは強制終了されます。つまり、実行中のプログラムが中断されたと言えます。

ctrl+c を使用した bash の kill プロセス

上の図は、sleep 100 コマンドが Ctrl+C を使用して中断されていることを示しています。 Ctrl+C を使用して実行中のプログラムを強制終了または中断すると、終了コードは 130 であり、echo $? を使用して確認できます。 指図。

kill コマンドを使用する

kill コマンドを使用して、実行中のプロセスを強制終了できます。 実行中のプロセスを強制終了するには、プロセスの PID が必要です。

以下は、kill コマンドの構文です。

kill <pid>

kill コマンドは、任意のプロセスの PID を使用してプロセスを強制終了します。 pspidof、または pgrep コマンドを使用して、任意のプロセスの PID を見つけることができます。

kill を使用した bash の kill プロセス

上の図は、kill コマンドを使用して強制終了された PID 14857 のプロセスを示しています。

PID の代わりにプロセス名を使用して任意のプロセスを強制終了することもできます。 pkill または killall コマンドは、名前を持つ任意のプロセスを強制終了できます。

以下は、pkill および killall コマンドの構文です。

pkill <name>
killall<name>

上記のすべての kill コマンドは、SIGKILL を実行中のプロセスに送信します。 コマンドのいずれかが実行中のプロセスをハングアップさせた場合、シグナル番号またはシグナルを指定する必要があります。

kill with signal no.を使用したbash killプロセス

上の図は、kill -9 コマンドを使用して強制終了されたプロセスを示しています。 kill -SIGKILL <PID> または kill -9 <PID コマンドを使用して、キル シグナル番号またはキル シグナルを送信できます。ここで、9SIGKILL 番号です。

pkill または killall コマンドで SIGKILL または 9 を使用することもできます。

pkill with signal no.を使用したbash killプロセス

上の図は、pkill -9 コマンドを使用して強制終了されたスリープ プロセスを示しています。