关于JVM虚拟机运行JAVA程序的问题

现在有一个程序是这样的
通过.bat命令设置环境变量后运行main方法
这时候会启动一个CMD窗口,一个JVM,还有一个conhost。
这时候用任务管理器把CMD和conhost的线程关掉,
JAVA程序其实还是在JVM中运行,相当于用户界面没了
用户就会再次打开这个程序,但是现在明显是冲突了,
请问各位有没有办法,在新开程序的时候把原来的JVM关掉?

4个回答

我运行BAT文件都没有启动过JVM,你JAVA是多少版本的?你BAT文件是怎么设置的?

qq_32341135
LRHuoLang19 你直接这样写呢? java -cp .;./xxx_1.0.0.6.jar com.test.TestComm
3 年多之前 回复
Neusoft_TIM
王艾崔 1.7 , "..\jdk1.7.0_67\bin\java.exe" -Djava.ext.dirs=lib -classpath mian方法
3 年多之前 回复

如果java程序还没有退出,表示还有非后台线程没有退出,何不在里面添加一个接收控制台输入的,用于输入指令关闭运行中的线程即可。

再者,你每运行一个JAVA程序,都会启动一个jvm,他们运行在各自的jvm中,如果不是公共的资源问题,如端口,数据等,他们不会影响的。

你的CMD是通过执行批处理启动的? Java执行批处理会返回一个Process吧,可以通过这个监控cmd的状态 ?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问