web-dev-qa-db-ja.com

特定のJavaプロセスをアプリケーション名で強制終了する方法

通常、taskkill /im "Java.exe"はリスト内のすべてのJavaプロセスを強制終了します。ただし、特定のプロセスを強制終了したいのです。問題は、同時に実行され、関連のない複数のJava.exeプロセスがあるため、適切なプロセスを特定することです。お互いに。

プロセス名ではなくアプリケーション名でプロセスを強制終了する方法はありますか?タスクマネージャの[アプリケーション]タブにアプリケーション名が表示されているので、手動でそのアプリケーションを右クリックして[プロセスに移動]を選択できます。関連するJavaプロセスを強調表示します。コマンドラインから実行する方法はありますか?

2
Eugene S

Taskkillを使用すると、フィルターを使用してウィンドウタイトルに基づいてプロセスを強制終了できます。

taskkill /F /FI "WindowTitle eq Spotify" /T
  • /F-タスクを強制終了する
  • /T-子プロセスを強制終了します
  • /FI-タスクをフィルタリングする

ウィンドウタイトルに引用符が含まれている場合は、ネストされた引用符を円記号(\)でエスケープできます。

同様の方法でtasklistを使用して、ウィンドウタイトルに基づいてタスクを検索できます。

tasklist /V /FI "WindowTitle eq Spotify"

*をワイルドカードとして使用して、パターンに一致させることができます

tasklist /V /FI "WindowTitle eq S*"
4
mroselli

すべてのJava.exeプロセスには、以下を使用して取得できる「コマンドライン」属性が関連付けられています。

wmic PROCESS where "name like '%Java%'" get Commandline

通常、コマンドラインの一部としてJarファイル(Javaプロセスに固有))があります。

そのjarファイルの名前またはコマンドラインの任意の部分を使用して、Javaプロセスをファイラーアウトし、を使用して目的のプロセスIDを取得できます。

wmic PROCESS where "name like '%Java.exe%' AND CommandLine like '%<part of commnad line argument>%'"get Processid

上記のコマンドでgetProcessidを使用する代わりに、呼び出しTerminateを使用してプロセスを直接強制終了できます。

wmic PROCESS Where "name Like '%Java.exe%' AND CommandLine like '%<part of commnad line argument>%'" Call Terminate
2
mukul acharya