Linux コマンド ラインには、実行中のプロセスを停止するために必要なツールがすべて揃っています。ジャック・ウォレンが詳しく教えてくれます。
これを想像してみてください。プログラムを (おそらくデスクトップ メニューまたはコマンド ラインから) 開き、そのプログラムの使用を開始しますが、プログラムがロックアップしたり、実行を停止したり、予期せずクラッシュしたりすることは予想していません。プログラムを再度実行しようとすると、元のプロセスが完全にシャットダウンされなかったことが報告されます。
###あなたは何をするべきか?プロセスを終了したいと考えています。しかし、どうやって?信じられないかもしれませんが、最良の解決策はほとんどがコマンド ラインにあります。ありがたいことに、Linux には、ユーザーが誤ったプロセスを強制終了するために必要なツールがすべて用意されています。ただし、プロセスを強制終了するコマンドを実行する前に、まずプロセスが何であるかを知る必要があります。この種のタスクを処理する方法。このツールのコツを掴めば、実際には非常に簡単です...これから説明する手順は、デスクトップでもサーバーでも、すべての Linux ディストリビューションに適用できます。コマンド ラインに限定して説明するので、ターミナルを開いてコマンドの入力を開始してください。
応答しないプロセスを強制終了する最初のステップは、プロセスを特定することです。プロセスを見つけるために使用するコマンドは 2 つあります。top コマンドと ps コマンドです。 top はシステム管理者なら誰もが知っているツールで、現在実行中のプロセスをすべて知ることができます。コマンド ラインで「top」コマンドを入力すると、実行しているプログラム プロセスが表示されます (図 1)
図 1: 先頭のコマンドでは、多くの情報が得られます。
表示されたリストから非常に重要な情報がわかります。たとえば、Chrome ブラウザの応答が遅いです。トップのコマンドによると、実行中の 4 つの Chrome ブラウザ プロセスを特定できます。pid 番号は 3827、3919、10764、およびそれぞれ11679。この情報は重要であり、プロセスを終了するための特別な方法で使用できます。
top コマンドは非常に便利ですが、必要な情報を取得するのに最も効率的な方法ではありません。どの Chrome プロセスを強制終了するかはわかっていますが、top コマンドによって表示されるリアルタイム情報は見たくないとします。このため、ps コマンドを使用してから grep コマンドを使用して、出力をフィルターに掛けることができます。 ps コマンドは、現在のプロセス リストのスナップショットを表示し、grep コマンドを使用して一致するパターンを出力します。 ps コマンドの出力を grep コマンドでフィルタリングする理由は簡単です。ps コマンドを入力するだけで、現在のすべてのプロセスのリストのスナップショットが取得されます。必要なのは、Chrome ブラウザのプロセスをリストすることです。関連している。コマンドは次のようになります:
リーリーここでの補助オプションは次のとおりです:
上記のコマンドを入力すると、図 2 よりも多くの情報が得られ、場合によっては top コマンドよりも効果的です。
図 2: ps コマンドを使用して、必要なコンテンツ情報を見つけます。 ######最終過程######
次に、プロセスを終了するタスクを開始します。誤ったプロセスを強制終了するのに役立つ情報が 2 つあります。
どちらを使用するかによって、ターミナル コマンドの使用方法が決まります。通常、プロセスを終了するには 2 つのコマンドがあります:
プロセスを終了するためにこれら 2 つのコマンドに送信できる 2 つの異なるシグナルがあります。送信するシグナルによって、end process コマンドから必要な結果が決まります。たとえば、プロセスを終了するコマンドに HUP シグナルを送信すると、そのコマンドによって実際にプロセスが再起動されます。これは、プロセスをすぐに再起動する必要がある場合 (デーモンの場合など) に賢明な選択です。 kill -l と入力すると、すべてのシグナルのリストを取得でき、多数のシグナルが表示されます。
図 3: 利用可能な終了プロセス信号。
プロセスを終了するために最も一般的に使用されるシグナルは次のとおりです:
良い点は、シグナル名の代わりにシグナル値を使用できることです。したがって、さまざまな信号名をすべて覚える必要はありません。
それでは、kill コマンドを使用して Chrome ブラウザのプロセスを強制終了しましょう。このコマンドの構造は次のとおりです:
リーリーここで、SIGNAL は送信されるシグナル、PID は強制終了されるプロセスの ID です。 ps コマンドから強制終了するプロセス ID 番号が 3827、3919、10764、および 11679 であることはすでにわかっています。したがって、プロセス終了シグナルを送信するには、次のコマンドを入力します:
リーリー上記のコマンドを入力すると、Chrome ブラウザのすべてのプロセスが正常に強制終了されます。
もっと簡単な方法があります!強制終了するプロセスの名前がすでにわかっている場合は、次のように killall コマンドを使用して同じシグナルを送信できます。 リーリー
補足として、上記のコマンドは実行中のすべての Chrome プロセスをキャプチャしない可能性があります。上記のコマンドを実行した後、 ps aux | grep chrome コマンドを入力してフィルタリングし、実行中の残りの Chrome プロセスを確認する場合、最良の方法は、kIll コマンドに戻り、プロセス ID を介してシグナル値 9 を送信することです。このプロセスを終了します。
以上がLinux でコマンドラインからプロセスを KILL する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。