码迷,mamicode.com
首页 > 编程语言 > 详细

java 强制关闭win7进程

时间:2014-11-21 00:12:02      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:des   style   io   ar   color   sp   java   for   on   

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进程

标签:des   style   io   ar   color   sp   java   for   on   

原文地址:http://my.oschina.net/u/1778309/blog/346958

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!