java代码结束指定进程 java代码结束指定进程怎么弄

求助:java,怎样代码实现结束正在运行的程序?1.
public class TestShutDownHook {
2.
public TestShutDownHook() {
3.
doShutDownWork();
4.
}
5.
private void doShutDownWork() {
6.
Runtime run=Runtime.getRuntime();//当前 Java 应用程序相关的运行时对象 。
7.
run.addShutdownHook(new Thread(){ //注册新的虚拟机来关闭钩子
8.
@Override
9.
public void run() {
10.
//程序结束时进行的操作
11.
System.out.println("程序结束调用");
12.
}
13.
});
14.
}
15.
public static void main(String[] args) {
16.
new TestShutDownHook();
17.
for (int i = 0; i1000; i++) { // 在这里增添您需要处理代码 }
18.
System.out.println(i);
19.
}
20.
}
21.
}
java 结束进程直接结束好像不行 。不过可以获得系统进程list 。同时结束一个java执行的进程;
try {
Process p = Runtime.getRuntime().exec("tasklist");
BufferedReader bw = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String pstr = "";
while ((pstr=bw.readLine())!=null){
System.out.println(pstr);
}
p.destroy(); //结束tasklist进程
} catch (Exception e) {
e.printStackTrace();
}
}
如何用Java关闭一个进程解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程 , 操作系统的进程,又可以分为windows进程和Linux进程
一、针对操作系统的进程:
1,首先java用户,要具有操作进程的权限
2. 针对windows操作系统的进程,比如QQ进程:
String command = "taskkill /f /im QQ.exe";
Runtime.getRuntime().exec(command);
其中:taskkill 是命令名称,/f /im 是参数 , QQ.exe是进程的可执行文件 。
3.针对Linux操作系统
String command = "kill /f /im QQ.exe";
Runtime.getRuntime().exec(command);
二、在Java程序中自定义的进程
思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程
public class T {
public static void main(String[] args) {
// 启动线程
MyThread thread = new MyThread();
new Thread(thread).start();
// 你的其它的工作 , 此时线程在运行中
// 你不想让线程干活了,停掉它
// 注意,这只是一个标志,具体线程何时停,并不能精确控制
thread.allDone = true;
}
}
class MyThread implements Runnable {
boolean volatile allDone = false;
public void run() {
// 每次循环都检测标志
// 如果设置停止标志时已经在循环里
// 则最长需要等待一个循环的时间才能终止
while (!allDone) {
// 循环里的工作
}
}
}
java中终止程序的执行方案操作如下:
(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它 。
(2)退出Java程序时尽量不要使用java.lang.System的exit方法 。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况?。。。?
要退出Java程序,可以使用destory()退出一个独立运行的过程 。对于多线程程序,必须要关闭各个非守护线程 。
只有在程序非正常退出时,才使用exit方法退出程序
【java代码结束指定进程 java代码结束指定进程怎么弄】java代码结束指定进程的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于java代码结束指定进程怎么弄、java代码结束指定进程的信息别忘了在本站进行查找喔 。

推荐阅读