如果是普通的
java
来运行,关闭CMD后会停止java代码
如果是用javaw(后台运行),关闭汪缺CMD后是不困橡辩会停止java代码的
线程运行方式,你还可以了解一下demon线程,它和一般线程也是又如并区别的
java关闭当前正在运族毕告行的cmd窗口,数态可以使用Runntime类来关闭,代码如下:
package com.qiu.lin.heimport 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的大吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)