问题描述
做了一个系统,后台算法用java实现,用runtime去执行外部程序,当外部程序出现死循环时怎么结束这个死循环,关闭执行外部程序,但是同时不杀死在运行的服务器,系统照常运行。。求指导
解决方案
解决方案二:
用runtime去执行taskkill/im要结束的进程名称就可以了。
解决方案三:
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;classExecCmd{staticRuntimeruntime1=Runtime.getRuntime();staticProcessprocess;publicstaticvoidmain(Stringargs[])throwsIOException{Filefile=newFile("E:/Test.java");FileWriterwriter=newFileWriter(file);writer.append("publicclassTest{");writer.append("publicstaticvoidmain(Stringargs[]){");writer.append("inti=0;");writer.append("while(true){");writer.append("i++;System.out.println("i="+i);}");writer.append("}}");writer.close();newThread(newRunnable(){publicvoidrun(){for(inti=0;i<=100;i++){if(i<=2)try{Thread.sleep(1000);System.out.println("sleep:"+i);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}else{}}}}).start();Stringcmd="cmd/cstarte:\Test.bat";process=runtime1.exec(cmd);}}这个是我自己模拟的问题在那个else{}里面的语句块应该怎么写。。
解决方案四:
引用1楼NNTT2010的回复:
用runtime去执行taskkill/im要结束的进程名称就可以了。
能说的具体点吗我贴了代码,求指导啊