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

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

はじめに

システムを最大限に活用するには、何が起こっているかを監視し、システムの使用率を監視する必要があります。

Linuxは完璧な世界ではありません。もちろん、リソースをより有効に活用しますが、他のオペレーティングシステムと同様に、制御不能になったり、応答を停止したり、必要以上に多くのリソースを消費したりするリソースが存在する可能性があります。

>

このために、通常の方法が役に立たない場合に、アクションを実行し、不従順なタスクを終了する方法について説明します。

システムを制御する方法はたくさんありますが、今日のトピックの1つは KILLです。 コマンド

KILLコマンドとは何ですか?

Killコマンドは、プロセスを手動で終了できるLinuxの組み込みユーティリティです。ハングアッププロセスにシグナルを送信して終了します。

KILLコマンドがプロセスに送信できるシグナルにはさまざまな種類があります

それらを表示するには、次のコマンドを実行します。

コマンドオプションで信号を指定するには、次の3つの方法があります。

●番号を使用する

kill -15 or kill -s 15

●SIGプレフィックスの入力

kill -SIGTERM or kill -s SIGTERM

●SIGプレフィックスなし

kill -TERM or kill -s TERM

シグナルを指定しない場合は、 TERM(-15) シグナルがデフォルトのシグナルです。

プロセスを見つけるには

プロセスを終了する前に、そのPID(プロセスID)を特定する必要があります

そのためにはさまざまな方法があります

PSコマンド

PIDセクションの下のPSコマンドを使用して、プロセスの一意の番号を見つけることができます

PSコマンドとそのオプションの詳細については、この記事をご覧ください

PSコマンドの使用方法

TOPコマンド

最初のセクションのTOPコマンドでもPIDを検索します

PSコマンドとそのオプションの詳細については、この記事をご覧ください

TOPコマンドの使用方法

PIDOFとPGREP

名前で検索して対応するIDを見つける方法が必要な場合は、これら2つのコマンドを使用できます。

PIDOF 簡単です。この正確な名前のすべてのPIDを取得するには、プロセスのフルネームを知っている必要があります

プロセスのフルネームがわからない場合は、ここで PGREPを使用できます PIDを取得するには

殺せないプロセス

通常のユーザーの場合、自分のプロセスのみを強制終了できますが、rootユーザーはすべてのプロセスを終了できます。 sudoを使用する スーパーユーザーとして機能するコマンドの前

プロセスを強制終了すると、 TERM シグナルは、前述のようにデフォルトで送信されます。これにより、プログラムが終了する前にいくつかのコードを実行できるようになり、プログラムが正常に終了する機会が与えられます。プロセスを強制的に終了する場合は、 SEGKILLを使用してください 代わりに

Linuxカーネルは、終了したプロセスに関する情報を保持しているため、親プロセスは子プロセスの状態と、それ自体が終了したのか、強制終了されたのかを知ることができます。これらのゾンビ プロセスはプロセスリストに表示され、強制終了することはできません

プロセスが入力または出力操作を実行するとき、プロセスは中断できないスリープにあります。 また、これらのプロセスを強制終了することもできません

ゾンビの状態でプロセスを区別できます または途切れない睡眠 上部の状態セクションを見て、 Zを参照してください またはD それぞれ。

では、プロセスを強制終了しましょう

PIDを見つけたら、次のコマンドを実行するだけです

オプションでTERMシグナルを識別するか、プログラムに別のシグナルを送信することができます

名前で殺す

プロセスの名前がわかっている場合は、 PKILLを使用して名前でプロセスを強制終了できます。 コマンド

これにより、 chromeを含むプロセスがすべて強制終了されます その中に

また、信号タイプを識別できます

すべてのプロセスを強制終了します

PIDを見つける必要なしに、同じ名前のすべてのプロセスを強制終了できます。

プロセスを強制終了する最も簡単な方法の1つ

スキルに似ています コマンドを実行し、さまざまな種類の信号を送信することもできます

o を使用して、一定期間以上実行されているプロセスを終了できます。 オプション

killall -o 30m process_name

または、次のように、実行期間が短いプロセスを強制終了します

killall -y 10s process_name

mに注意してください 30mは分を表し、 s 10秒で数秒です。

結論

他のオペレーティングシステムと同様に、Linuxにはハングしているプログラムや応答しないプログラムがある可能性があるため、システムのリソースを消費するプロセスを終了するにはKILLコマンドが必要です。

詳細については、 manを使用してください killコマンドについては、公式ドキュメントを参照してください。


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

  2. LinuxでSuコマンドを使用する方法

  3. Linuxでゾンビプロセスを見つけて殺す方法

  1. Linuxの特定のポートで実行されているプロセスを強制終了する方法は?

  2. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  3. Linux での kill コマンドの例

  1. Linux の特定のポートで実行されているプロセスを強制終了するには?

  2. Linux でプロセスを一時停止/再開する方法

  3. killコマンドを使用してpidn番号でLinuxでプロセスを再起動しますか?