public static void main(String[] args) {
Process objProcess = Runtime.getRuntime().exec("cmd /c notepad.exe");
}这段代码可以打开记事本程序,但应该怎么关闭这个程序?调用objProcess.destroy()也不起作用.有没有其它方法可以运行一个可执行文件并且可以正常关闭?
Process objProcess = Runtime.getRuntime().exec("cmd /c notepad.exe");
}这段代码可以打开记事本程序,但应该怎么关闭这个程序?调用objProcess.destroy()也不起作用.有没有其它方法可以运行一个可执行文件并且可以正常关闭?
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Test
{
public static void main(String[] args)
{
try
{
String[] cmd =
{ "tasklist"};
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)
{
}
}
结束指定的系统进程 notepad.exe
CMD下杀死进程有两种方法,第一种就是4楼的方法:TaskKill /M (进程名字)
如 TaskKill /m Notepad.exe
java中就是Runtime.getRuntime().exec("TaskKill /m Notepad.exe");
第二种就是 ntsd -c q -pn (进程名字)
java中就是Runtime.getRuntime().exec("ntsd -c q -pn Notepad.exe");
一般第二种方法比第一种强劲一些,楼主可以看着自己选择。
Runtime.getRuntime().exec("cmd /c c:\\abc.txt"); 结束的时候这样调用就不行了
Runtime.getRuntime().exec("Taskkill /IM c:\\abc.txt");
Runtime.getRuntime().exec("Taskkill /IM notepad.exe"); 没有这样的命令的 Runtime.getRuntime().exec("Taskkill /IM c:\\abc.txt");