ホームページ  >  記事  >  システムチュートリアル  >  Linux でコマンドラインからプロセスを KILL する方法は?

Linux でコマンドラインからプロセスを KILL する方法は?

王林
王林転載
2024-03-23 14:50:03992ブラウズ

Linux コマンド ラインには、実行中のプロセスを停止するために必要なツールがすべて揃っています。ジャック・ウォレンが詳しく教えてくれます。
Linux でコマンドラインからプロセスを KILL する方法は?

これを想像してみてください。プログラムを (おそらくデスクトップ メニューまたはコマンド ラインから) 開き、そのプログラムの使用を開始しますが、プログラムがロックアップしたり、実行を停止したり、予期せずクラッシュしたりすることは予想していません。プログラムを再度実行しようとすると、元のプロセスが完全にシャットダウンされなかったことが報告されます。

###あなたは何をするべきか?プロセスを終了したいと考えています。しかし、どうやって?信じられないかもしれませんが、最良の解決策はほとんどがコマンド ラインにあります。ありがたいことに、Linux には、ユーザーが誤ったプロセスを強制終了するために必要なツールがすべて用意されています。ただし、プロセスを強制終了するコマンドを実行する前に、まずプロセスが何であるかを知る必要があります。この種のタスクを処理する方法。このツールのコツを掴めば、実際には非常に簡単です...

これから説明する手順は、デスクトップでもサーバーでも、すべての Linux ディストリビューションに適用できます。コマンド ラインに限定して説明するので、ターミナルを開いてコマンドの入力を開始してください。

ロケーションプロセス

応答しないプロセスを強制終了する最初のステップは、プロセスを特定することです。プロセスを見つけるために使用するコマンドは 2 つあります。top コマンドと ps コマンドです。 top はシステム管理者なら誰もが知っているツールで、現在実行中のプロセスをすべて知ることができます。コマンド ラインで「top」コマンドを入力すると、実行しているプログラム プロセスが表示されます (図 1)

Linux でコマンドラインからプロセスを KILL する方法は?

図 1: 先頭のコマンドでは、多くの情報が得られます。

表示されたリストから非常に重要な情報がわかります。たとえば、Chrome ブラウザの応答が遅いです。トップのコマンドによると、実行中の 4 つの Chrome ブラウザ プロセスを特定できます。pid 番号は 3827、3919、10764、およびそれぞれ11679。この情報は重要であり、プロセスを終了するための特別な方法で使用できます。

top コマンドは非常に便利ですが、必要な情報を取得するのに最も効率的な方法ではありません。どの Chrome プロセスを強制終了するかはわかっていますが、top コマンドによって表示されるリアルタイム情報は見たくないとします。このため、ps コマンドを使用してから grep コマンドを使用して、出力をフィルターに掛けることができます。 ps コマンドは、現在のプロセス リストのスナップショットを表示し、grep コマンドを使用して一致するパターンを出力します。 ps コマンドの出力を grep コマンドでフィルタリングする理由は簡単です。ps コマンドを入力するだけで、現在のすべてのプロセスのリストのスナップショットが取得されます。必要なのは、Chrome ブラウザのプロセスをリストすることです。関連している。コマンドは次のようになります:

リーリー

ここでの補助オプションは次のとおりです:

  • a = すべてのユーザーのプロセスを表示
  • u = プロセスのユーザーと所有者を表示します
  • #xx = 端末に接続されていないプロセスも表示します
この x パラメータは、グラフィカル プログラムに関する情報を検索する場合に重要です。

上記のコマンドを入力すると、図 2 よりも多くの情報が得られ、場合によっては top コマンドよりも効果的です。

Linux でコマンドラインからプロセスを KILL する方法は?

図 2: ps コマンドを使用して、必要なコンテンツ情報を見つけます。 ######最終過程######

次に、プロセスを終了するタスクを開始します。誤ったプロセスを強制終了するのに役立つ情報が 2 つあります。

  • プロセスの名前
  • プロセスID (PID)

どちらを使用するかによって、ターミナル コマンドの使用方法が決まります。通常、プロセスを終了するには 2 つのコマンドがあります:

  • kill - プロセス ID でプロセスを強制終了します
  • killall - プロセスを名前で強制終了します

プロセスを終了するためにこれら 2 つのコマンドに送信できる 2 つの異なるシグナルがあります。送信するシグナルによって、end process コマンドから必要な結果が決まります。たとえば、プロセスを終了するコマンドに HUP シグナルを送信すると、そのコマンドによって実際にプロセスが再起動されます。これは、プロセスをすぐに再起動する必要がある場合 (デーモンの場合など) に賢明な選択です。 kill -l と入力すると、すべてのシグナルのリストを取得でき、多数のシグナルが表示されます。

Linux でコマンドラインからプロセスを KILL する方法は?

図 3: 利用可能な終了プロセス信号。

プロセスを終了するために最も一般的に使用されるシグナルは次のとおりです:

良い点は、シグナル名の代わりにシグナル値を使用できることです。したがって、さまざまな信号名をすべて覚える必要はありません。

それでは、kill コマンドを使用して Chrome ブラウザのプロセスを強制終了しましょう。このコマンドの構造は次のとおりです:

リーリー

ここで、SIGNAL は送信されるシグナル、PID は強制終了されるプロセスの ID です。 ps コマンドから強制終了するプロセス ID 番号が 3827、3919、10764、および 11679 であることはすでにわかっています。したがって、プロセス終了シグナルを送信するには、次のコマンドを入力します:

リーリー

上記のコマンドを入力すると、Chrome ブラウザのすべてのプロセスが正常に強制終了されます。

もっと簡単な方法があります!強制終了するプロセスの名前がす​​でにわかっている場合は、次のように killall コマンドを使用して同じシグナルを送信できます。 リーリー

補足として、上記のコマンドは実行中のすべての Chrome プロセスをキャプチャしない可能性があります。上記のコマンドを実行した後、 ps aux | grep chrome コマンドを入力してフィルタリングし、実行中の残りの Chrome プロセスを確認する場合、最良の方法は、kIll コマンドに戻り、プロセス ID を介してシグナル値 9 を送信することです。このプロセスを終了します。

プロセスの終了は簡単です
ご覧のとおり、間違ったプロセスを強制終了することは、当初考えていたほど困難ではありません。頑固なプロセスを終了させる場合、私はそれを終了させる効率的な方法として killall コマンドを使用する傾向がありますが、本当にアクティブなプロセスを終了させる場合には、kill コマンドを使用するのが良い方法です。


以上がLinux でコマンドラインからプロセスを KILL する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。