首页 > 代码库 > java 强制关闭win7进程

java 强制关闭win7进程

package com.cmd.core;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class CmdCore {

public static boolean isRunning(String exeName) {

       Process proc = null;

       try {

           proc = Runtime.getRuntime().exec("tasklist");

           BufferedReader br = new BufferedReader(new InputStreamReader(proc

                   .getInputStream()));

           String info = br.readLine();

           while (info != null) {

               System.out.println(info);

               if (info.indexOf(exeName) >= 0) {

                   return true;

               }

               info = br.readLine();

           }

       } catch (IOException e) {

           e.printStackTrace();

       } finally{

        proc.destroy();

       }

       System.out.println(false);

       return false;

   }

}





package com.cmd.core;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;


public class StreamGrabber extends Thread {

public StreamGrabber() {

}

@SuppressWarnings("static-access")

@Override

public void run() {

boolean flag;

try {

String command = "taskkill /f /im 11Game.exe";   //关闭的进程名字

Process proc = performCommand(command);

List<String> holder = new ArrayList<String>();

BufferedReader br = new BufferedReader(new InputStreamReader(

proc.getInputStream()));

String line = null;

while ((line = br.readLine()) != null) {

if (holder != null)

holder.add(line);

}


} catch (IOException ioe) {

ioe.printStackTrace();

}

while (true) {

flag = isAlive("11Game.exe");

System.out

.println("================================================="

+ flag);

try {

Thread.currentThread().sleep(500);

} catch (InterruptedException e) {

e.printStackTrace();

}

if (flag) {

new StreamGrabber().start();

}

}

}


public static Process performCommand(String command) {

try {

return Runtime.getRuntime().exec(command);

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

@SuppressWarnings("static-access")

public static boolean isAlive(String exeName) {

return new CmdCore().isRunning(exeName);

}

}






package com.cmd.core;


import java.util.concurrent.Executors;

import java.util.concurrent.ScheduledExecutorService;

import java.util.concurrent.TimeUnit;

public class TimerManager {

public static void executeFixedRate() {  

   ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);  

   executor.scheduleAtFixedRate(  

           new StreamGrabber(),  

           0,  

           1000,  

           TimeUnit.MILLISECONDS);  

}

public static void main(String[] args) {

executeFixedRate();

}  

}




java 强制关闭win7进程