web-dev-qa-db-ja.com

PIDの代わりにプロセス名でJavaプロセス(Linuxの場合)を強制終了する]

Hadoopクラスターの構成/インストール中に、Javaプロセス/デーモンを強制終了する必要があることがよくあります。 jpsコマンドで実行されているJavaプロセス/デーモンが表示されます。通常、PIDを使用してJavaプロセスを強制終了します。例えば。

kill -9 112224

PIDを入力するのは少し難しいです。名前でプロセスを強制終了する方法はありますか?単一のコマンドで?

13
I Bajwa

Javaプロセスを殺すためのコマンドは、ProcessIDではなく、Process Nameです。

kill `jps | grep "DataNode" | cut -d " " -f 1`

このコマンドの利点について詳しく説明します。あなたがHadoopクラスタで作業しているとしましょう。 Java jpsコマンドで実行されているデーモンを確認する必要があります。ワーカーノードでこのコマンドを実行すると、次の出力が表示されます。

1915 NodeManager
18119 DataNode
17680 Jps

通常、DataNodeプロセスを強制終了する場合は、次のコマンドを使用します

kill -9 18119

ただし、PIDコマンドを使用してkillを入力するのは少し難しいです。この回答にあるコマンドを使用すると、プロセスの名前を簡単に記述できます。また、Hadoopクラスターで一般的に使用されるデーモンを強制終了するためのシェルスクリプトを準備したり、1つのシェルスクリプトを準備してプロセス名としてパラメーターを使用したりすることもできます。

29
I Bajwa

jps -lはプロセスの強制終了に役立ちました

kill `jps -l | grep "myjarname.jar" | cut -d " " -f 1`
0
prisar

使ってみて

killall firefox
0
ceremcem