Runtime.getRuntime().exec("game\\s.exe")Runtime.getRuntime().exec("cmd.exe /c start C:\\clean.bat(这个文件改成你做好的批处理文件)");
System.getProperties( "java.home");//获取java安装路径
用Runtime类可以执行DOS命令来执行一个进程,如下就是打开记事本: try { Runtime runtime = Runtime.getRuntime(); runtime.exec("notepad.exe"); } catch (IOException e) { e.printStackTrace(); }
使用java终止一个进程
Runtime.getRuntime().exec("taskkill /f /t /im java.exe"); taskkill /f /im java.exe /t
public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); String[] command1=new String[]{"cmd","cd","C://Program Files//Thunder"}; String command = "taskkill /F /IM Thunder5.exe"; try { rt.exec(command1);//返回一个进程 rt.exec(command); System.out.println("success closed"); } catch (IOException e) { e.printStackTrace(); } }
windows :
Runtime.getRuntime().exec('taskkill /F /IM abc.exe');
帮助: 运行cmd输入taskkill -?
linux:
Runtime.getRuntime().exec('killall -9 abc.exe');
java中就是Runtime.getRuntime().exec("ntsd -c q -pn Notepad.exe");
java判断进程是否存在
public boolean getProcess(){
boolean flag=false;
try{
Process p = Runtime.getRuntime().exec( "cmd /c tasklist ");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream os = p.getInputStream();
byte b[] = new byte[256];
while(os.read(b)> 0)
baos.write(b);
String s = baos.toString();
// System.out.println(s);
if(s.indexOf( "Besttone.exe ")>=0){
System.out.println( "yes ");
flag=true;
}
else{
System.out.println( "no ");
flag=false;
}
}catch(java.io.IOException ioe){
}
return flag;
}
//杀掉进程
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){}
//启动进程,查所有进程,杀进程
package com.ffshi.util;
import java.io.IOException;
import java.util.Scanner;
public class JavaWindowsCommandUtil {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// startTask("E://Fetion//Fetion.exe");
killTask("javaw");
}
/**
* 杀死一个进程
*
* @param task
*/
public static void killTask(String task) {
try {
Process process = Runtime.getRuntime().exec("taskList");
Scanner in = new Scanner(process.getInputStream());
int count = 0;
while (in.hasNextLine()) {
count++;
String temp = in.nextLine();
if (temp.contains(task)) {
String[] t = temp.split(" ");
// 判断该进程所占内存是否大于20M
if (Integer.parseInt(t[t.length - 2].replace(",", "")) > 20000) {
temp = temp.replaceAll(" ", "");
// 获得pid
String pid = temp.substring(9, temp.indexOf("Console"));
Runtime.getRuntime().exec("tskill " + pid);
// dos下开cmd窗口 ntsd -c q -p PID
// Runtime.getRuntime().exec("ntsd -c q -p 1528");
}
}
// System.out.println(count + ":" + temp);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 显示当前机器的所有进程
*/
public static void showTaskList() {
try {
Process process = Runtime.getRuntime().exec("taskList");
Scanner in = new Scanner(process.getInputStream());
int count = 0;
while (in.hasNextLine()) {
count++;
System.out.println(count + ":" + in.nextLine());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 启动一个进程
*
* @param task
*/
public static void startTask(String task) {
try {
Runtime.getRuntime().exec(task);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}