Linuxオペレーティングシステムは、Linuxオペレーティングシステムプロセスを終了するいくつかの方法を提供します。プログラムを停止する明白な方法は、左上隅または右上隅にあるXボタンをクリックすることです。しかし、プロセスを強制終了する方法は他にも無数にあります。他の効率的な方法について話し合うためにここにいます。
Linuxでプロセスを強制終了する方法
制御シーケンス
起動したばかりのプロセスを強制終了する2つ目の明白な方法は、コマンドラインでCtrl-Cを入力することです。 Ctrl-C制御シーケンスは、データが失われる可能性がある場合でも、通常は安全に使用できます。
Ctrl-Zシーケンスは、実行中のプロセスを一時停止します。 SIGTSPシグナルをプロセスに送信します。プロセスのデフォルトのアクションはプロセスを一時停止することです。
killコマンド
Linuxオペレーティングシステムにはkillコマンドが付属しており、プロセスが応答しなくなったり、リソースを大量に消費したりしたときにプロセスを終了するために使用できます。 Linuxのプロセスは、プログラムのインスタンスです。
プログラムの開始時に、そのプロセスに対して一意のPIDが自動的に生成されます。 initプロセスは、Linuxシステムが起動され、値「1」が割り当てられたときに開始される最初のプロセスです。
Initはマスタープロセスであり、killコマンドを使用して強制終了することはできません。 initプロセスのkillコマンドは、システムをシャットダウンするための単なる要求です。
このガイドでは、Linuxターミナルを使用して実行中のプロセスを終了する手順といくつかの方法について説明します。
rootユーザーには、すべてのプロセスを強制終了するために必要なすべての権限があります。コマンドsuを使用してルートシェルを取得するか、コマンドの前にsudoを追加して実行できます。
killコマンドによって送信されるデフォルトのシグナル
プロセスを強制終了すると、指定されたプロセスに終了メッセージが送信されます。終了メッセージの2つの主なタイプは次のとおりです。
•SIGTERM–killコマンドはデフォルトでSIGTERMシグナルを送信します。通常のシャットダウン手順でプロセスを終了できるようにする必要があります。これは、プロセスを終了しようとするより穏やかな方法であり、ブロックされる可能性があります。
•SIGKILL–常にプロセスを突然強制終了します。 SIGKILLが機能しない場合は、オペレーティングシステムに障害が発生しています。これは、プロセスを強制終了するための最速かつ最も効果的な方法です。
実行中のプロセスのリスト
topコマンド、psコマンド、およびpidofコマンドは、Linuxシステムで実行中のプロセスを表示する最も簡単な方法です。
構文:
ps -e | grep name-of-process
以下のスクリーンショットは、psコマンドを使用してMySQLがシステムで実行されているかどうかを確認する方法を示しています。これにより、MySQLデーモンのPIDである1162が得られます。
psコマンドに追加する一般的なオプション
•-a:すべてのユーザーのプロセスを表示します。
•-u:各プロセスに関する詳細情報を表示します。
•-x:デーモンによって制御されるすべてのプロセスを表示します。
ps -e
構文:
top
topコマンドは、PID、ユーザー、リソースの名前、および各プロセスが使用するシステムリソースの数を表示します。これらは、プロセスのいずれかを終了することにした場合に役立ちます。
pgrepコマンドを使用すると、対応するプロセスIDを取得するのにも非常に効率的です。
pgrepコマンドに追加する一般的なオプション。
•-l:プロセス名とPIDを一覧表示します。
•-n:最新のプロセスを返します。
•-o:最も古いプロセスを返します。
•-u:属するプロセスを検索します。特定のユーザーに。
•-x:特定のパターンに完全に一致するプロセスを見つけます。
プロセスの名前がわかっている場合は、pidofコマンドを使用してプロセスのIPを検索します。
構文:
pidof <options> <program>
オプション:
•-c:単一のルートディレクトリ内のPIDを返します。
•-o:特定のPIDを省略します。
•-s:単一のPIDを返します。
•-x:のPIDを返します。スクリプトを実行しているシェル。
Linuxでは、プロセスのPID、プロセスの名前、またはプロセスの実行時間がわかっているかどうかに応じて、さまざまな方法でプロセスを強制終了できます。
killallコマンド
killallコマンドは、名前でプロセスを強制終了するために使用されます。 1つのコマンドで複数のプロセスを強制終了でき、デフォルトでSIGTERMシグナルを送信します。
構文:
killall <process>
killallコマンドで使用できるオプション:
•-e:プロセス名と完全に一致するものを返します。
•-I:コマンドはプロセス名を見つけるときに大文字と小文字を無視します。
•-i:キルするときに追加情報を要求します名前によるプロセス。
•-u:システムの指定されたユーザーが所有するプロセスを強制終了します。
•-v:強制終了プロセスが正常に実行されたかどうかに関するフィードバックを提供します。
killallコマンドは、プロセスの実行時間に基づいてLinuxシステムのプロセスを終了することもできます。
•-o:このオプションは、指定された時間より長くすべてのプロセスを強制終了します。
•-y:このオプションは、指定された時間よりも短い時間実行されているすべてのプロセスを強制終了します。
例:
•killall-o20m:コマンドは20分より古いすべてのプロセスを強制終了します。
•Killall -y 20m:コマンドは15分未満で実行されているすべてのプロセスを強制終了します。
killコマンド
プロセスIPがわかっている場合、killコマンドはプロセスを強制終了します。
構文:
kill <processID>
killコマンドは、指定されたプロセスIDを持つ単一のプロセスを強制終了します。コマンドはSIGTERMシグナルを送信して停止し、プロセスが定期的なシャットダウン手順を実行するのを待ちます。
キル-9コマンド
kill -9コマンドは、応答しないプロセスまたはサービスを終了するために使用されます。
構文:
kill -9 <processID>
または
kill -SIGKILL <processID>
kill -9コマンドは、SIGKILLシグナルを送信して、プロセスをただちにシャットダウンします。 kill -9コマンドは、標準のシャットダウンルーチンをバイパスし、保存されていないデータはすべて失われます。
応答しないプログラムはkillコマンドを無視しますが、kill-9コマンドが発行されるたびに終了します。
その他の一般的に使用される強制終了オプションは次のとおりです。
•-1(HUP):これは「電話を切る」オプションであり、一般的に非常に安全です。
•-2(SIGINT):これはCtrl-Cと同じ信号であり、強制終了の安全な代替手段と見なされますプログラム。
•-15(-TERM):これはデフォルトの終了信号であり、通常は非常に安全です。
kill -lコマンドを使用して、使用可能なすべてのシグナルの完全なリストを取得できます。
pkillコマンド
プロセス名がわかっている場合、pkillコマンドはプロセスを強制終了します。デフォルトでは、pkillはプロセスを終了するためにSIGTERMシグナルを送信します。
構文:
pkill <options> <pattern>
pkillオプション:
•-n:このコマンドは最新のプロセスを強制終了します。
•-o:このコマンドは最も古いプロセスを強制終了します。
•-u:このコマンドは選択したユーザーに基づいてプロセスを強制終了します。
•-x:このコマンドは、パターンに一致するプロセスを強制終了します。
•-signal:デフォルトのシグナルSIGTERM以外の指定されたシグナルを送信します。
xkill
xkillコマンドは、サーバーのクライアントへの接続を閉じます。
xkill <resource>
xkillコマンドは、不要なサーバープロセスを終了します。
トップコマンド
topコマンドは、ユーザーが終了プロセスを指定できるインターフェースを提供します。
構文:
top
PIDでプロセスを強制終了するには、インターフェースからkを挿入してから、指定したプロセスIDを入力します。
要約
•コマンドラインからプロセスを強制終了するには、sudo権限が必要です。
•killコマンドを使用してシグナルを生成するたびに、Linuxシステムはターゲットプロセスの通常の実行フローを中断します。
•実行中のプロセスを見つけるには、ps、top、pgrep、またはpidofコマンドを使用できます。
•kilall、pkill、kill、xkill、またはtopコマンドを使用して、名前またはプロセスIDでプロセスを強制終了できます。
•killプロセスは、SIGTERM、SIGHUP、またはSIGKILLの終了シグナルを送信します。
•システムモニターを使用して、Linuxプロセスを強制終了できます。これはシステムツールにあり、トッププロセス、プロセスの終了、プロセスの強制終了などのいくつかのオプションを提供します。
•killコマンドとそのバリアントは、理解して使用するのが非常に簡単です。
このガイドでは、Linuxでプロセスを強制終了するさまざまな方法に焦点を当てました。 Linuxが適切に管理するために不可欠な、提供される信号オプションのリストに関しては、わずかな学習曲線があります。詳細については、それぞれのマニュアルページを参照することをお勧めします。