JAVA退出CMD后,剩下的代码还会执行吗?

JAVA退出CMD后,剩下的代码还会执行吗?,第1张

看你运行的时候用的什么命令了

如果是普通的

java

来运行,关闭CMD后会停止java代码

如果是用javaw(后台运行),关闭汪缺CMD后是不困橡辩会停止java代码的

线程运行方式,你还可以了解一下demon线程,它和一般线程也是又如并区别的

java关闭当前正在运族毕告行的cmd窗口,数态可以使用Runntime类来关闭,代码如下:

package com.qiu.lin.he

import java.io.IOException

public class CeShi {

public static void main(String[] args) {

Runtime rt = Runtime.getRuntime()

try {

rt

.exec("兆明cmd.exe /C start wmic process where name='cmd.exe' call terminate")//关闭正在运行的cmd窗口

} catch (IOException e) {

e.printStackTrace()

}

}

}

pro.waitFor()

导致当前线程等待,如有必要,一直要等到由该 Process 对象银侍表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线锋运吵程将被阻塞,直到退出子进程。

一般都是用一个线程去做处理运行,另一个线程来做悄空管理,

try {

final Process pro = Runtime.getRuntime().exec("notepad.exe")

new Thread(new Runnable() {

public void run() {

try {

pro.waitFor()

System.out.println(1)

pro.destroy()

} catch (InterruptedException e) {

e.printStackTrace()

}

}

}).start()

new Thread(new Runnable() {

public void run() {

try {

Thread.sleep(1000)

pro.destroy()

} catch (InterruptedException e) {

e.printStackTrace()

}

}

}).start()

} catch (IOException e) {

e.printStackTrace()

}

我用的是一个新的线程,一般用主线程去做处理,控制他的关闭。你的另一个其他代码也可以执行。对于cmd这个窗体,就完全没有思路了,java程序是没办法把他关闭掉,应该是dos的权限比java的大吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12309067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存