java启动一个进程、杀死一个进程、显示当前进程

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();         }     } }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值