コマンドラインからプロセスを強制終了する方法

Linux管理についての詳細を学ぶことに興味がありますか? これらのLinuxトレーニングコースを探る。

  • Linux入門(Lfs101X)–無料
  • Linuxシステム管理のEssentials(LFS201)

私たちのアーカイブから、このチュートリアルで誤ったプロセスを強制終了する方法を学びます。

画像これ:あなたは(あなたのお気に入りのデスクトップメニューから、またはコマンドラインからそれをすること)アプリケーションを起動し、あなた あなたは再びアプリを実行しようとしますが、それは本当に完全にシャットダウンすることはありません元が判明しました。あなたは何をしていますか?

あなたは何をしていますか? あなたはプロセスを殺します。 しかし、どのように? 信じられないかもしれませんが、あなたの最善の策は、ほとんどの場合、コマンドライン内にあります。 ありがたいことに、Linuxには、ユーザーであるあなたに誤ったプロセスを強制終了させるために必要なすべてのツールがあります。 ただし、そのコマンドをすぐに起動してプロセスを強制終了する前に、まずプロセスが何であるかを知る必要があります。 どのようにこの階層化されたタスクの世話をするのですか? それは実際には非常に簡単です…あなたの処分でツールを知っていれば。私は言ったツールを紹介しましょう。

私は言ったツールを紹介しましょう。

私が概説する手順は、デスクトップであろうとサーバーであろうと、ほぼすべてのLinuxディストリビューションで動作します。 私はコマンドラインを厳密に扱っているので、あなたの端末を開いて入力する準備をします。

プロセスの検索

応答しないプロセスを強制終了するための最初のステップは、プロセスの検索です。 プロセスを見つけるために使用する2つのコマンドがあります:topとps。 トップは、すべての管理者が知っておくべきツールです。 Topを使用すると、現在実行中のプロセスの完全なリストを取得します。 コマンドラインからtopを発行すると、実行中のプロセスのリストが表示されます(図1)。

図1:topコマンドはあなたに多くの情報を提供します。このリストからは、いくつかの重要な情報が表示されます。

このリストからは、いくつかの重要な情報が表示されます。 たとえば、Chromeが応答しなくなったとします。 一番上の表示によると、プロセスId(PID)3827、3919、10764、および11679で実行されているchromeの4つのインスタンスがあることがわかります。 この情報は、プロセスを強制終了する特定の方法で持つことが重要になります。topは非常に便利ですが、必要な情報を取得するための最も効率的な手段ではありません。

topは非常に便利ですが、必要な情報を取得するための最 Chromeプロセスが殺す必要があることを知っていて、topが提供するリアルタイムの情報を一目で確認する必要がないとしましょう。 そのためには、psコマンドを使用し、grepを介して出力をフィルタリングすることができます。 Psコマンドは現在のプロセスのスナップショットを報告し、grepはパターンに一致する行を出力します。 Grepを介してpsをフィルタリングする理由は簡単です: Psコマンドを単独で発行すると、現在のすべてのプロセスのスナップショットリストが表示されます。 私たちは、Chromeに関連付けられたリストのみをしたいです。 このコマンドは次のようになります。

ps aux | grep chrome

auxオプションは次のとおりです。

  • a=すべてのユーザーのプロセスを表示

  • u=プロセスのユーザー/所有者を表示

  • x=端末に接続されていないプロセスも表示

x=端末に接続されていないプロセスも表示

x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=このオプションは、グラフィカルアプリケーションに関する情報を探しているときに重要です。

上記のコマンドを発行すると、プロセスを強制終了するために必要な情報(図2)が与えられますが、topを使用するよりも効率的な場合があります。

図2:psコマンドで必要な情報を見つけます。

プロセスを強制終了

これで、プロセスを強制終了するタスクになります。 私たちは誤ったプロセスを殺すのに役立つ二つの情報を持っています:

  • プロセス名

  • プロセスID

使用すると、終了に使用されるコマンドが決定されます。 プロセスを強制終了するために使用される2つのコマンドがあります。

  • KILL–IDでプロセスを強制終了

  • killall–名前でプロセスを強制終了

両方のkillコマンドに送信できる異なるシグナルもあります。 送信する信号は、killコマンドからどのような結果が必要かによって決まります。 たとえば、hup(ハングアップ)シグナルをkillコマンドに送信すると、プロセスが効果的に再起動されます。 これは、プロセスをすぐに再起動する必要がある場合(デーモンの場合など)、常に賢明な選択です。 Kill-lを発行することで、killコマンドに送信できるすべてのシグナルのリストを取得できます。

図3:利用可能なキル信号。

最も一般的なキルシグナルは次のとおりです:

Signal Name

Single Value

Effect

SIGHUP

Hangup

SIGINT

Interrupt from keyboard

SIGKILL

Kill signal

SIGTERM

Termination signal

SIGSTOP

17, 19, 23

Stop the process

これについて素晴らしいのは、信号名の代わりに信号値を使用できることです。 だから、様々な信号の名前のすべてを暗記する必要はありません。
では、killコマンドを使用してchromeのインスタンスを強制終了しましょう。 このコマンドの構造は次のようになります。

kill SIGNAL PID

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

kill -9 3827kill -9 3919kill -9 10764kill -9 11679

上記のコマンドを発行すると、すべてのchromeプロセスが正常に強制終了されます。

のは、簡単なルートを取ってみましょう!

Killしたいプロセスの名前がchromeであることがすでにわかっている場合は、killallコマンドを使用して、同じシグナルを次のようにプロセスに送信できます。

killall-9chrome

上記のコマンドの唯一の注意点は、実行中のすべてのchromeプロセスをキャッチしない可能性があることです。 上記のコマンドを実行した後、ps aux|grep chromeコマンドを発行し、残りのプロセスが実行されていることを確認した場合、最善の策はkillコマンドに戻り、シグナル9を送信してPIDでプロセスを終了させることです。

プロセスの終了が簡単になりました

ご覧のように、誤ったプロセスを強制終了することは、思っていたほど難しいことではありません。 私が頑固なプロセスに巻き込まれると、killallコマンドは終了への最も効率的なルートであるため、killallコマンドから始める傾向があります。 しかし、あなたが本当に厄介なプロセスに巻き込まれたとき、killコマンドが行く方法です。

Linuxについての詳細は、Linux FoundationとedXの無料の「Linux入門」コースを参照してください。

Related Posts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です