java中有调用外部程序的类,Runtime.getRuntime().exec("./**.exe")此函数返回的是一个Process 对象,该对象在创建后,可以对它进行 destroy () 杀掉子进程、 waitFor () 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。 如下例子可以杀掉已经打开的文本进程:
import java.io.BufferedReader
import java.io.InputStreamReader
public class Test
{
public static void main(String[] args)
{
try
{
String[] cmd =
{ "notepad.exe"}
Process proc = Runtime.getRuntime().exec(cmd)//开启文本
BufferedReader in = new BufferedReader(new InputStreamReader(proc
.getInputStream()))
String string_Temp = in.readLine()
while (string_Temp != null)
{
System.out.println(string_Temp)
if(string_Temp.indexOf("notepad.exe")!=-1)
Runtime.getRuntime().exec("Taskkill /IM notepad.exe")
string_Temp = in.readLine()
}
}
catch (Exception e)
{
//结束进程
}
}
结果如下:
一般去让java线程终止不会去调用什么方法,是通过在run方法里,某种条件下跳出循环来实现的。
public void run(){
while(true)
{
//满足一定条件
if(xxxx)
{
break
}
}
}