web-dev-qa-db-ja.com

実行されたJARファイルを停止する方法

馬鹿げた質問のように思えますが、理解できないようです。 * .jarファイルをWindowsで実行すると、タスクマネージャープロセスに表示されません。どうすれば終了できますか。TASKKILLを試しましたが、うまくいきません。

22
susparsy

Linuxの場合

ps -ef | grep Java

実行可能なjarとなるプロセスのリストが表示されます。そのプロセスIDでそのプロセスを強制終了します。

Sudo kill -9 <pid>

同じjarファイルのJavaコードからこれを行う方法はありますか?プロセスが完了したら自分自身を殺すように。

25
Yatendra Goel

Jpsコマンド&でプロセスIDを検索し、taskkillコマンドでそれらを強制終了します。

"-f"はtaskkillで必要であるか、実際には終了しないで終了信号を送信するだけである可能性があることに注意してください。

enter image description here

15
Dexter

タスクマネージャーでJava.exeプロセスを強制終了しようとしましたか?それで止まるはずです。

9
Jimmy Geers

「Java」または「javaw」プロセスを探すことで、タスクマネージャーでプロセスを識別できます。問題は、複数のJava=プロセスを実行している場合に発生します。プロセスを特定できた場合は、単にプロセスをkill/endしてください。

他の方法:

走る

jps -lv

これは、実行中のすべてのJavaプロセスのPIDとコマンドラインを示しています。強制終了するタスクのPIDを決定します。次に、コマンドを使用します。

taskkill /PID <pid>

jarプロセスを強制終了します。

6
Juned Ahsan

誰もが述べたように、Javaまたはjavawプロセスのいずれかです。問題は、そのような複数のアプリを実行している場合です。1つの回避策は、次のようにプロセスに異なる名前を付けることです。

Javaプログラムのプロセス名を設定するにはどうすればよいですか?

3
Lenymm

スプリングブートの開始/停止サンプル(Windows OS)。

start.bat

@ECHO OFF
call run.bat start

stop.bat:

@ECHO OFF
call run.bat stop

run.bat

@ECHO OFF
IF "%1"=="start" (
    ECHO start your app name
    start "yourappname" Java -jar -Dspring.profiles.active=prod yourappname-0.0.1.jar
) ELSE IF "%1"=="stop" (
    ECHO stop your app name
    TASKKILL /FI "WINDOWTITLE eq yourappname"
) ELSE (
    ECHO please, use "run.bat start" or "run.bat stop"
)
pause
2
sgrillon

jvisualvmを開いて、実行中のJavaプロセスを確認できます。そこにプロセスIDが表示されます。ここでタスクマネージャーを開き、[プロセス]タブに移動して、表示するプロセスID列を追加します。今、あなたは殺すために正しいJava.exeまたはjavaw.exeを選択することができます

2
cproinger

jframeを使用していて、「X」をクリックしたときにアプリケーションを停止したい場合:

これがチュートリアルです: http://tips4Java.wordpress.com/2009/05/01/closing-an-application/

0
Philipp Sander

Windowsタスクマネージャーでは、「Java.exe」というプロセスが表示されます。アプリケーションを停止するプロセスを強制終了します。

プロセスを知るには、まずタスクマネージャのアプリケーションに移動し、次にそのアプリケーションを選択してプロセスに移動します。それはあなたをそのアプリケーションの正確なプロセスに導きます。

よろしく、Jaynil

0
Jaynil