アンドロイド

Linuxでプロセスを強制終了する方法

目次:

Anonim

アプリケーションを起動した状況に直面したことがありますか?アプリケーションを使用しているときに突然応答しなくなり、予期せずクラッシュしますか? アプリケーションを再び起動しようとしますが、元のアプリケーションプロセスが完全に完全にシャットダウンすることはないため、何も起こりません。

まあ、それはある時点で私たち全員に起こりましたよね? 解決策は、アプリケーションプロセスを終了または強制終了することです。 しかし、どのように?

幸いなことに、Linuxには誤ったプロセスを殺すことができるユーティリティがいくつかあります。

kill killall 、および pkill コマンドを使用してLinuxでプロセスを終了する方法を示します。

これらのツールの主な違いは、 kill はプロセスID番号(PID)に基づいてプロセス kill 終了するのに対し、 killall コマンドと pkill コマンドは、名前やその他の属性に基づいて実行中のプロセスを終了することです。

通常のユーザーは自分のプロセスを強制終了できますが、他のユーザーに属するプロセスは強制終了できませんが、rootユーザーはすべてのプロセスを強制終了できます。

システムキルシグナル

kill killall 、および pkill は、指定されたプロセスまたはプロセスグループに特定のシグナルを送信します。 信号が指定されていない場合、各ツールは 15 TERM )を送信します。

最も一般的に使用される信号は次のとおりです。

  • 1 (-HUP):プロセスをリロードします。 9 (-KILL):プロセスを強制終了します。 15 (-TERM):プロセスを正常に停止します。

信号は、3つの異なる方法で指定できます。

  • 「SIG」プレフィックス(例、-HUP)なしの「SIG」プレフィックス(例、-SIGHUP)を使用して、数値(例、-1)を使用します。

-l オプションを使用して、使用可能なすべてのシグナルをリストします。

kill -l # or killall -l

以下に概説する手順は、すべてのLinuxディストリビューションで機能します。

kill コマンドを使用したプロセスの終了

kill コマンドでプロセスを終了するには、最初にプロセスPIDを見つける必要があります。 これを行うには、 top ps pidof pgrep などのさまざまなコマンドを使用します。

Firefoxブラウザーが応答しなくなり、Firefoxプロセスを強制終了する必要があるとします。 プロセスIDを見つけるには、 pidof コマンドを使用します。

pidof firefox

このコマンドは、すべてのFirefoxプロセスを印刷します。

2551 2514 1963 1856 1771

FirefoxがPIDを処理してすべてを終了するとわかったら、 TERM シグナルを送信します。

kill -9 2551 2514 1963 1856 1771

killall コマンドを使用したプロセスの killall

killall コマンドは、指定された名前に一致するすべてのプログラムを終了します。

前と同じシナリオを使用して、次のように入力してFirefoxプロセスを強制終了できます。

killall -9 firefox

killall は、特定のユーザーが所有するプロセスへのシグナルの送信、プロセス名の正規表現との一致、作成時間など、いくつかのオプションを受け入れます。 端末で killall (引数なし)と入力すると、すべてのオプションのリストを取得できます。

たとえば、ユーザー「sara」として実行されているすべてのプロセスを終了するには、次のコマンドを実行します。

sudo killall -u sara

pkill コマンドを使用したプロセスの終了

pkill は、コマンドラインで指定されたパターンに一致するプロセスを終了します。

pkill -9 firefox

プロセスの名前は完全に一致する必要はありません。

pkill を使用すると、特定のユーザーが所有するプロセスにシグナルを送信することもできます。 ユーザー「sara」が所有するfirefoxプロセスのみを強制終了するには、次のように入力します。

pkill -9 -u sara firefox

結論

kill killall 、および pkill コマンドを使用して応答しないプログラムを終了するのは簡単な作業です。 必要なのは、プロセス名またはPIDのみです。

ターミナルを殺す