GNU/Linux >> Linux の 問題 >  >> Linux

プロセスを強制終了する 4 つの方法 – kill、killall、pkill、xkill

写真提供:seiho

kill コマンドは、プロセスにシグナルを送信したり、プロセスを強制終了したりするために使用されます。通常、プロセスの PID がわかっている kill -SIGNAL PID を使用します。

効果的にプロセスを強制終了する方法は他にもあります — 名前でプロセスを強制終了、名前の一部を指定してプロセスを強制終了、カーソルでプロセスを指定してプロセスを強制終了など、

この記事では、プロセスを強制終了する 4 つの方法を確認します。

1. Kill Command – PID を指定してプロセスを強制終了

以下の kill 規則はすべて、指定されたプロセスに TERM シグナルを送信します。シグナルには、シグナル名またはシグナル番号のいずれかを使用できます。プロセスの pid を検索し、それを kill の引数として指定する必要があります。

$ kill -TERM pid

$ kill -SIGTERM pid

$ kill -15 pid

例:firefox プロセスを終了します。

$ ps -ef | grep firefox
1986 ?        Sl     7:22 /usr/lib/firefox-3.5.3/firefox

$ kill -9 1986

2. Killall コマンド – 名前でプロセスを強制終了

PID でプロセスを指定する代わりに、プロセスの名前を指定できます。その名前で複数のプロセスが実行されている場合、それらすべてが強制終了されます。
例:すべての firefox プロセスを強制終了します

$ killall -9 firefox

3. Pkill コマンド – 名前に基づいてプロセスにシグナルを送信します

完全な名前または部分的な名前を指定することにより、任意のプロセスにシグナルを送信できます。したがって、シグナルを送信するプロセスの PID を調べる必要はありません。

例:名前に sample を含むすべてのプロセスに SIGTERM を送信します。

$ pkill sample

キルの例:

シグナルを送信する前に、一致するプロセスのプロセス ID とプロセス名を表示する「pgrep -l」を使用して、基準に一致するすべてのプロセスを確認できます。

この例では、すべてのプロセスが信号をその PID とともに signal-log に記録するように設計されています。

$ pgrep -l sample
12406 sample-server.p
12425 sample-server.p
12430 sample-garbagec

$ pkill -USR1 sample

$ cat signal-log
Name: ./sample-server.pl Pid: 12406 Signal Received: USR1
Name: ./sample-server.pl Pid: 12425 Signal Received: USR1
Name: ./sample-garbagecollector.pl Pid: 12430 Signal Received: USR1

注: 指定する名前の部分は、プロセス名の最初の 15 文字以内の文字にする必要があります。

4. Xkill コマンド – X リソースでクライアントを終了

xkill は、誤動作しているプログラムを強制終了する最も簡単な方法です。プロセスを強制終了するには、十字カーソルを表示する xkill を開始します。ウィンドウを左カーソルでクリックすると、そのプロセスが強制終了されます。

$ xkill
Select the window whose client you wish to kill with button 1....
xkill:  killing creator of resource 0x1200003

注: 実際、xkill は XServer にクライアントを終了するように指示します。


Linux
  1. PID ではなく名前でプロセスを強制終了するにはどうすればよいですか?

  2. ゾンビプロセスを強制終了する方法

  3. Raspbian でのプロセスの強制終了

  1. killall chromium-browser:プロセスが見つかりません

  2. プロセスを kill -9 してはいけないのはいつですか?

  3. kill 、 pkill 、 killall の違いは何ですか?

  1. Linuxでゾンビプロセスを強制終了する方法

  2. Kill、Pkill、Killallの違いは?

  3. プロセスの子孫?