`
guolang2116
  • 浏览: 71570 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 监控某个进程是否在运行

    博客分类:
  • java
 
阅读更多
/**

* 监控电脑某个进程是否在运行

* @param args

*/

private static final String PNAME = "Yodao";

 

public static void main(String[] args)

  throws IOException {

 System.out.println("包含关键字 "+PNAME+" 的进程有:");

 System.out.println();

 String path = System.getProperty("user.dir");

 //1:创建一个可执行文件,用于读取系统进程

 final File createFileName = new File(path + "\\mytempscript.vbe");

 if(createFileName.exists()?createFileName.delete():createFileName.createNewFile()){}

 final PrintWriter pw = new PrintWriter(new FileWriter(createFileName,true), true);

 // 利用GetObject("WinMgmts:")获取系统信息

 pw.println("for each ps in getobject(\"winmgmts:\\\\.\\root\\cimv2:win32_process\").instances_");

 pw.println("wscript.echo ps.handle&vbtab&ps.name");

 pw.println("next");

 pw.close();

 

 //2:调用此可执行文件,并将此文件读取的内容写进到流

 final InputStream ii = Runtime.getRuntime().exec("cscript " + path + "\\mytempscript.vbe").getInputStream();

 final InputStreamReader ir = new InputStreamReader(ii);

 final BufferedReader br = new BufferedReader(ir);

 String str = null;

 String[] ss = null;

 

 //遍历所有进程  br: 6568chrome.exe

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

  if (str.indexOf(PNAME)>0&&str.endsWith(".exe")) {

   ss = str.split("\\s");

   for(int i=0;i<ss.length;i+=2){

    System.out.println("****************************");

    System.out.println("进程名:"+ss[i+1]+"\n进程ID:"+ss[i]);

   }

  }

 }

 //再把此文件删了

 if(createFileName.exists()){ createFileName.delete();}

 System.out.println("****************************");

 ir.close();

 ii.close();

 br.close();

}

 

上网加速器利器,程序员必备!自己一直在用,有需要的朋友可以试试!

http://honx.in/i/VIFTbc6vD2Sxigzt

分享到:
评论

相关推荐

    java获取各进程的信息

    在Java开发过程中,有时候我们需要监控系统资源或特定进程的状态,例如CPU使用率、内存占用情况等。这在服务器性能监控、问题排查等方面尤为重要。本文将详细介绍如何使用Sigar库来实现这些功能。 #### Sigar简介 ...

    进程监控小程序,可以监管某个进程

    在IT行业中,进程是操作系统中运行的程序实例,每个进程都有独立的内存空间和资源,因此管理和监控进程对于系统的稳定性和性能至关重要。 该小程序的核心功能是确保指定的进程始终保持运行状态。当监控到目标进程...

    监控任务管理器中某个进程的使用情况java编写

    在Java编程环境中,监控任务管理器中的特定进程是一项常见的需求,尤其在系统管理和性能优化时。这个任务可以通过Java的多种工具和库来实现,其中包括Java的`Runtime`类、`ProcessBuilder`类以及第三方库如JMX(Java...

    windows进程监控java版

    在信息技术领域,进程监控是系统管理的重要环节,它能够帮助我们了解系统的运行状态,及时发现并处理潜在的问题。Java作为一种跨平台的开发语言,其丰富的库和强大的功能使得开发Windows进程监控软件成为可能。本篇...

    java、杀死启动进程、定时执行程序、隐藏黑窗口(dos窗口)、线程异常死亡(保活)

    在Java开发中,有时我们需要处理一系列复杂的问题,如管理进程、执行定时任务、处理异常以及隐藏命令行窗口。本文将详细探讨这些知识点,并提供一种自动重启JBOSS服务器的方案。 首先,我们要理解如何在Java中杀死...

    基于java通过第三方jar包sigar的支持,完成对服务器系统的参数监控,包括CPU、内存、硬盘以及网络流量的实时监控.zip

    总之,通过使用Sigar库,Java开发者能够轻松构建一个全面的服务器监控系统,对CPU、内存、硬盘和网络流量进行实时监控,从而确保服务的高效稳定运行。这对于任何依赖于服务器性能的应用来说,都是至关重要的。

    远程监控特定服务运行状态

    将脚本添加到计划任务后可定期自动检查指定的服务运行状态,一旦监控的服务异常停止,将自动启动该服务

    java进程项目

    Java进程是指在操作系统中运行的Java应用程序实例,每个进程都有自己的内存空间和独立的执行线程。在Java中,通过JVM(Java虚拟机)来执行字节码,每个JVM实例就是一个进程。理解Java进程对于性能调优、资源管理和...

    java jstat 查看哪个进程频繁GC垃圾回收

    在Java应用程序运行过程中,如果发现并回收不再使用的对象,可以防止内存泄漏,确保程序稳定运行。当我们遇到应用程序性能下降或者内存消耗过快的问题时,就需要关注哪个进程在频繁进行GC操作。下面我们将详细探讨...

    Zabbix通过JMX方式监控java中间件

    通过JMX,开发人员和系统管理员可以远程监控和管理运行中的Java应用。 #### 二、Zabbix-Java-gateway工作原理 Zabbix-Java-gateway是Zabbix为实现JMX监控而设计的一个组件。其工作流程如下: 1. **Zabbix Server...

    使用java自带工具监控jvm运行状态

    在Java开发中,对JVM(Java虚拟机)的监控是至关重要的,它能帮助我们了解应用程序的性能、内存消耗和资源使用情况。Java提供了一系列内置工具,方便开发者监控JVM运行状态。以下是对这些工具的详细介绍: 1. **jps...

    判断进程是否存在

    在编程中,我们有时需要检查某个特定的进程是否正在运行,以便进行相应的操作,如控制、监控或管理该进程。这个过程通常被称为“判断进程是否存在”。在本文中,我们将深入探讨如何在不同的操作系统和编程语言中实现...

    linux下查看java进程下线程占用cpu情况

    在Linux系统中,监控Java进程及其线程的CPU使用情况是进行性能调优的重要环节。以下是一些关于如何实现这一目标的关键知识点。 1. **`ps` 命令**: - `ps` 是一个用于报告当前系统中进程状态的命令。基本用法如 `...

    java查看哪个进程切换频繁上下文.zip

    标题"java查看哪个进程切换频繁上下文"提示我们关注的是如何在Java环境中监控进程的上下文切换情况。这里有两个主要的命令工具可以帮助我们实现这一目标: 1. **pidstat**:这是一个Linux系统工具,能够提供关于...

    linux的shell命令检测某个java程序是否执行

    总结一下,要检测Linux系统中某个Java程序是否运行,可以使用`ps -ef | grep java | grep "程序名字"`或`pgrep -f "程序名字"`这样的`shell`命令。这不仅可以帮助系统管理员监控系统资源的使用情况,还可以在需要时...

    nmon java jre nmon部署监控与分析

    一个典型的例子是,当Java应用出现响应慢的问题时,通过nmon监控可以发现CPU占用过高,进一步定位到特定的Java进程,进而可能发现是某个服务或方法引起的。此时,可以优化代码,减少不必要的计算,或者调整JVM参数,...

    注入安卓进程,并hook java世界的方法

    当应用程序尝试加载某个类时,Xposed会先于系统运行,检查该类是否需要被Hook。如果需要,它会替换掉目标方法,插入自定义的逻辑。这种方法可以用于调试、性能分析、安全检测等多个场景。 为了进行进程注入和Java层...

    【转】Java内存泄露_JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    例如,我们可以通过`jinfo -flag &lt;flag&gt; &lt;pid&gt;`查看某个Java进程是否启用了特定的JVM标志,或者使用`jinfo -flags &lt;pid&gt;`列出所有有效的JVM标志。 `jmap`则是一个用于分析堆内存的工具。它允许我们导出堆内存的...

    JAVA JVM性能调优监控工具详解

    `jps`是JDK自带的一个简单实用的工具,用于列出当前正在运行的所有Java应用程序的进程ID以及基本状态信息。其语法格式如下: ```shell jps [options] [hostid] ``` 如果不指定`hostid`,则默认为当前主机。`jps`的...

    ProcessMonitor:一个Java应用程序,用于监视和记录进程的开始和停止时间

    过程监控器监视和记录流程开始和停止时间的Java应用程序。 它以YYYY-MM-DD格式同时以CSV和txt格式写入状态。 CSV文件包含应用程序的开始时间,进程的开始时间和结束时间。 TXT文件在每次记录时都会保存该进程的状态...

Global site tag (gtag.js) - Google Analytics