引自 http://blog.csdn.net/yzh_2017/article/details/70174478

问题:

使用destory方法无法关闭运行的CMD进程,所以需要换个方法,查出当前cmd进程PID,然后调用taskkill杀掉进程。

1.需要两个JAR包

2.代码如下:

private static void killProcessTree(Process process) {

try {

Field f = process.getClass().getDeclaredField("handle");

f.setAccessible(true);

long handl = f.getLong(process);

Kernel32 kernel = Kernel32.INSTANCE;

WinNT.HANDLE handle = new WinNT.HANDLE();

handle.setPointer(Pointer.createConstant(handl));

int ret = kernel.GetProcessId(handle);

Long PID = Long.valueOf(ret);

String cmd = getKillProcessTreeCmd(PID);

Runtime rt = Runtime.getRuntime();

Process killPrcess = rt.exec(cmd);

killPrcess.waitFor();

killPrcess.destroy();

} catch (Exception e) {

e.printStackTrace();

}

}

private static String getKillProcessTreeCmd(Long Pid) {

String result = "";

if (Pid != null)

result = "cmd.exe /c taskkill /PID " + Pid + " /F /T ";

return result;

}

java cmd 进程_关闭CMD进程-JAVA相关推荐

  1. 关闭 进程_关闭一个进程 锐龙CPU骤然降温22.5!

    近日,Epic Games Launcher(本文以下简称EGL)游戏客户端成为国外众多网友口诛笔伐的对象,因为它在后台运行的时候,即便闲置状态下也会狂吃资源,导致CPU处理器温度过高,尤其是锐龙. ...

  2. java 管理多个进程_管理多个Java安装

    java 管理多个进程 随着越来越多的Java版本发布,在本地环境中管理多个Java安装将变得更加有趣. 不同的项目可能需要不同的Java版本. jenv项目是管理Java安装的便捷方法. 它可以在全 ...

  3. java什么时候新建进程_创建名为“ {java}”的线程(即轻量级进程)是为了什么?...

    小编典典 所有这些线程都属于JVM. 运行jstack 以获取线程列表. "main" #1 prio=5 os_prio=0 cpu=150.00ms elapsed=8.04s ...

  4. mysql僵尸进程_僵尸Z进程和D进程

    -------------- 1 关于ZOMBIE进程: # ps -el| grep Z F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY    ...

  5. 做Java头发少_这35个Java代码优化细节,你用了吗

    链接:https://www.jianshu.com/p/6e472304b5ac 前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有 ...

  6. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享

    我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...

  7. 学java 的要点_零基础学Java,掌握Java的基础要点

    对于程序员群体来说,了解一定的技巧会对学习专业技能更有帮助,也更有助于在自己的职业发展中处于有利地位,无限互联Java培训专家今天就为大家总结Java程序员入门时需要掌握的基础要点: 掌握静态方法和属 ...

  8. java线程堆栈_深入JVM剖析Java的线程堆栈

    在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因.在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术.在线程堆栈中存储的信息,通常远超出你的想象 ...

  9. java cpu分配_容器中的Java:资源分配准则

    短短几年内,容器就改变了软件行业的面貌.也许您已经到了在容器中运行Java的地步.那很棒!不幸的是,关于容器化Java应用程序的CPU和内存使用率,还有一些事情要注意,我将在下面概述. 本文假定总体上 ...

  10. java 下载加速_一种基于Java的大文件下载加速方法与流程

    本发明涉及java/多线程技术领域,涉及一种加速文件下载装置,具体提供一种基于java的大文件下载加速方法. 背景技术: 现有的常用下载方式是基于浏览器的单线程下载.这种单线程下载的方式,是通过htt ...

最新文章

  1. DAY2-python基础1
  2. LeetCode 795. Number of Subarrays with Bounded Maximum
  3. usb转rj45_笔记本接口不够怎么办?先看USB-A接口能转谁
  4. [css] 使用overflow: scroll时不能平滑滚动怎样解决?
  5. Leetcode每日一题:155.min-stack(最小栈)
  6. 编程之美--高效率算出1的数目之扩展问题
  7. 2013应届毕业生“人人网”校招应聘总结
  8. HTML-超链接标签,表格,列表
  9. roboware的使用
  10. JavaScript实现大数据(条形统计图表)
  11. Java析构函数构造函数_C++ string构造函数和析构函数详解
  12. Node.js单例模式
  13. echarts实现仪表盘
  14. otl mysql 下载_OTL mySQL
  15. UI设计初学者必入门必看!
  16. iscc2022弱雪wp
  17. win10家庭版使用远程桌面方法
  18. 建模计算机处理器,实战建模渲染,用锐龙7 5800X拒绝拖稿
  19. LMG3422R030RQZR 600V GaN晶体管LMG3425R030RQZR电路图
  20. kubeadm安装K8s 1.16集群--问题集锦

热门文章

  1. IDEA设置字体大小的问题
  2. 【git】结合Gerrit 代码审查工具的操作流程,工作流程
  3. 客户下单邮件跟进书写
  4. 【webssh】网页上的SSH终端
  5. 获取谷歌浏览器缓存视频方法
  6. origin9.0中文版
  7. 【图文】Allegro测量工具同时显mil和mm
  8. android6.0彩蛋小游戏,安卓系统暗藏彩蛋?隐藏小游戏让你玩到停不下来
  9. mac简体拼音打出来是英文_mac怎样打出拼音 - 卡饭网
  10. 文本去重算法:Minhash/Simhash/Klongsent