40

LinuxのようにWindowsで特定のJavaプロセスを強制終了したい(ps -auxprocessidを取得kill processidしてからプロセスを強制終了する)。

4

9 に答える 9

47

JDKに含まれてjpsいるユーティリティを使用して、JavaプロセスのプロセスIDを見つけることができます。出力には、実行可能JARファイルの名前またはメインクラスの名前が表示されます。

次に、Windowsタスクマネージャーを使用してプロセスを終了します。コマンドラインで実行する場合は、次を使用します。

TASKKILL /PID %PID%
于 2012-10-23T08:02:12.960 に答える
17

また、タスクマネージャを使用してJavaプログラムのPIDを見つけることもできます。PID列とコマンドライン列を有効にするView -> Select Columnsと、適切なプロセスを見つけることができます。

結果は次のようになります: ここに画像の説明を入力してください

于 2013-10-17T16:06:53.023 に答える
11

jdkのパスを設定した後、使用します。その後JPS、タスクマネージャーで簡単に強制終了でき
JPSます。すべてのJavaプロセスが提供されます。

于 2012-10-23T08:03:00.520 に答える
11

これは、jarの複数のインスタンスが実行されている場合でも機能します

wmic Path win32_process Where "CommandLine Like '%yourname.jar%'" Call Terminate
于 2017-01-06T07:46:39.660 に答える
2

私が見つけた解決策は非常に簡単です。WindowのWMICとJavaのランタイムを使用して、プロセスを見つけて強制終了します。

パート1:アプリのスタートアップコマンドラインになんらかの識別子を入力する必要があります。例:

String id = "com.domain.app";

パート2:アプリを実行するときは、必ず文字列を含めてください。Java内から開始するとし、次のようにします。

Runtime.getRuntime().exec(
   "C:\...\javaw.exe -cp ... -Dwhatever=" + id + " com.domain.app.Main"
);

パート3:プロセスを強制終了するには、WindowのWMICを使用します。アプリが上記のIDを含むように開始されたことを確認してください。

Runtime.getRuntime().exec(
  "wmic process Where \"CommandLine Like '%" + id + "%'\" Call Terminate"
);
于 2016-01-12T07:10:51.643 に答える
1

Windows XP以降には、すべてのプロセスIDを一覧表示するtasklistというコマンドがあります。

Windowsでプロセスを強制終了する方法については、以下を参照してください。

本当にWindowsのプロセスを殺す| スタックオーバーフロー

次の方法で、JavaでOSコマンドを実行できます。

Runtime.getRuntime().exec("your command here");

コマンドの出力を処理する必要がある場合は、例を参照してください:JavaでRuntime.exec()を使用する

于 2012-10-23T08:04:31.997 に答える
0

これはWindowsに固有です。taskkillを使用して特定のJavaプログラムを1つ強制終了する必要があるという同じ問題に直面していました。Javaプログラムを実行すると、タスクリストに、イメージ名がjava.exeとして設定された同じプログラムが表示されていました。ただし、を使用してそれをtaskkill /F java.exe強制終了すると、必要のない意図されたもの以外の他のすべてのJavaアプリケーションが停止します。

だから私は同じJavaプログラムを使用して実行します:

start "MyProgramName" java java-program..

ここで、startコマンドは新しいウィンドウを開き、ウィンドウのタイトルをMyProgramNameに設定してJavaプログラムを実行します。

このjavaプログラムを強制終了するには、次のtaskkillコマンドを使用します。

taskkill /fi "MyProgramName"

Javaプログラムのみが強制終了されます。残りは影響を受けません。

于 2014-01-08T10:12:21.623 に答える
0
  1. GitBashを開く
  2. タイプps -ef | grep java
  3. pid実行中のjdkのを見つける
  4. kill -9 [pid]
于 2020-10-16T10:38:55.767 に答える
0

Windowsでは、PowerShellを使用して実行中のJavaプロセスを一覧表示できます。次に、プロセスIDを使用して、プロセスを強制終了できます。PowerShellで実行する必要がある以下のコマンドを見つけてください。

Javaプロセスを一覧表示します。

ps | Where-Object -Property ProcessName -EQ -Value 'Java'

特定のIDを持つJavaプロセスを強制終了します。

Stop-Process <PID>

上記のアプローチは私のために働いた。

于 2022-02-07T09:13:51.633 に答える