LinuxフォーラムからLinuxミームまで、Linuxでプログラムを強制終了するための2つのコマンドに出くわします。殺して殺す。
多くのLinuxユーザーはkillコマンドを知っていますが、killallコマンドを知って使用している人は多くありません。
そして、それはとにかく人々を混乱させる可能性があります。どちらのコマンドも、同じように聞こえる名前と同じような目的(プロセスを終了するため)を持っています。
では、killとkillallの違いは何ですか?どのコマンドを使用する必要があり、どの場合にそれらを使用する必要がありますか?
killコマンドとkillallコマンドの違い
killコマンドは、プロセスID(PID)に対して機能し、PIDを指定したプロセスを強制終了します。一方、killallコマンドはプロセス名に対して機能し、指定されたプロセス名を持つすべてのプロセスを強制終了します。たとえば、mysqld
のインスタンスが3つある場合 実行中、killallはkillall mysqld
を使用して3つすべてを強制終了します 一方、コマンドをkillするには、3つのインスタンスすべてのPIDをkill PID1 PID2 PID3
として指定する必要があります。 。
簡単に言うと、killコマンドはPID(多くの場合個別のPID)で機能し、killallコマンドはプロセス名で機能し、プロセス名ですべてのプロセスを強制終了します。
それを実際に示しましょう。
evinceというプログラムの3つのインスタンスを開始し、それをバックグラウンドに送信します(実行は継続しますが、制御をターミナルに戻します)。
evince &
evince &
evince &
これで、プロセス名evinceを使用して、プロセスIDが異なる3つのプログラムを実行しています。
killコマンドを使用してプロセスを強制的に停止するには、目的のプロセスのPIDを指定する必要があります。
kill PID1
ただし、プロセス名をkillallコマンドに指定すると、そのプロセス名で実行中のすべてのインスタンスが強制終了されます。
killall evince
以下のスクリーンショットを見て、実行中のすべてのコマンドを確認してください。
ここでわかるように、killコマンドのプロセスIDを知っている必要があり、killallコマンドのプロセス名を見つける必要があります。
どちらを使用する必要がありますか? KillまたはKillall?
killコマンドは個々のプロセスで機能するため、より安全です。結局のところ、killallコマンドを起動する前に、強制したくない同様の名前のプロセスが実行されていないことを確認する必要があります。
これで、killコマンドとkillalllコマンドを明確に把握できたと思います。質問や提案をお気軽にドロップしてください。