标签: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();
}
}
标签:des style io ar color sp java for on
原文地址:http://my.oschina.net/u/1778309/blog/346958