java怎么结束执行ba,t终止虚拟机的运行但是不会终止服务器

maoaini_1990 大连海事大学 学生  2014-01-02 08:32:19
做了一个系统,后台算法用java实现,用runtime去执行外部程序,当外部程序出现死循环时怎么结束这个死循环,关闭执行外部程序,但是同时不杀死在运行的服务器,系统照常运行。。求指导
...全文
54 点赞 收藏 3
写回复
3 条回复
maoaini_1990 2014年01月02日
引用 1 楼 NNTT2010 的回复:
用runtime去执行taskkill /im 要结束的进程名称 就可以了。
能说的具体点吗 我贴了代码,求指导啊
回复 点赞
maoaini_1990 2014年01月02日
import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; class ExecCmd { static Runtime runtime1 = Runtime.getRuntime(); static Process process; public static void main(String args[]) throws IOException { File file=new File("E:/Test.java"); FileWriter writer=new FileWriter(file); writer.append(" public class Test{"); writer.append("public static void main(String args[]){"); writer.append("int i=0;"); writer.append("while(true){"); writer.append("i++;System.out.println(\"i=\"+i);}"); writer.append("}}"); writer.close(); new Thread(new Runnable() { public void run() { for (int i = 0; i <= 100; i++) { if (i <= 2) try { Thread.sleep(1000); System.out.println("sleep:"+i); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } else { } } } }).start(); String cmd="cmd /c start e:\\Test.bat"; process=runtime1.exec(cmd); } } 这个是我自己模拟的问题在那个else{}里面的语句块应该怎么写。。
回复 点赞
推推党希望 2014年01月02日
用runtime去执行taskkill /im 要结束的进程名称 就可以了。
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告