馬鹿げた質問のように思えますが、理解できないようです。 * .jarファイルをWindowsで実行すると、タスクマネージャープロセスに表示されません。どうすれば終了できますか。TASKKILLを試しましたが、うまくいきません。
Linuxの場合
ps -ef | grep Java
実行可能なjarとなるプロセスのリストが表示されます。そのプロセスIDでそのプロセスを強制終了します。
Sudo kill -9 <pid>
同じjarファイルのJavaコードからこれを行う方法はありますか?プロセスが完了したら自分自身を殺すように。
タスクマネージャーでJava.exeプロセスを強制終了しようとしましたか?それで止まるはずです。
「Java」または「javaw」プロセスを探すことで、タスクマネージャーでプロセスを識別できます。問題は、複数のJava=プロセスを実行している場合に発生します。プロセスを特定できた場合は、単にプロセスをkill/endしてください。
他の方法:
走る
jps -lv
これは、実行中のすべてのJavaプロセスのPIDとコマンドラインを示しています。強制終了するタスクのPIDを決定します。次に、コマンドを使用します。
taskkill /PID <pid>
jarプロセスを強制終了します。
誰もが述べたように、Javaまたはjavawプロセスのいずれかです。問題は、そのような複数のアプリを実行している場合です。1つの回避策は、次のようにプロセスに異なる名前を付けることです。
スプリングブートの開始/停止サンプル(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
jvisualvmを開いて、実行中のJavaプロセスを確認できます。そこにプロセスIDが表示されます。ここでタスクマネージャーを開き、[プロセス]タブに移動して、表示するプロセスID列を追加します。今、あなたは殺すために正しいJava.exeまたはjavaw.exeを選択することができます
jframeを使用していて、「X」をクリックしたときにアプリケーションを停止したい場合:
これがチュートリアルです: http://tips4Java.wordpress.com/2009/05/01/closing-an-application/
Windowsタスクマネージャーでは、「Java.exe」というプロセスが表示されます。アプリケーションを停止するプロセスを強制終了します。
プロセスを知るには、まずタスクマネージャのアプリケーションに移動し、次にそのアプリケーションを選択してプロセスに移動します。それはあなたをそのアプリケーションの正確なプロセスに導きます。
よろしく、Jaynil