博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 强制关闭win7进程
阅读量:6227 次
发布时间:2019-06-21

本文共 2416 字,大约阅读时间需要 8 分钟。

  hot3.png

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

}  

}

转载于:https://my.oschina.net/u/1778309/blog/346958

你可能感兴趣的文章
KMP
查看>>
紫书 例题 11-1 UVa 12219 (表达式树)
查看>>
CPU利用率与Load Average的区别?
查看>>
MATLAB数据处理快速学习教程
查看>>
font property font-family does not have generic default?
查看>>
数字三角形
查看>>
GTID复制模式切换与传统主从复制间切换
查看>>
集成测试
查看>>
Python Learning Day1
查看>>
spring 四种注入方式
查看>>
C++Builder的一些学习资料
查看>>
Matlab调用C程序 分类: Matlab c/c...
查看>>
vue+typescript入门学习
查看>>
arpg网页游戏之地图(三)
查看>>
ExecuteScalar 返回值问题
查看>>
python - 自动化测试框架 - 测试报告
查看>>
多线程的那点儿事(基础篇)
查看>>
win10安装MarkdownPad 2报错This view has crashed的处理及md简单语法
查看>>
RESTful API测试工具
查看>>
Python 安装cx_Oracle模块折腾笔记
查看>>