/** * 监控电脑某个进程是否在运行 * @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(); }
上网加速器利器,程序员必备!自己一直在用,有需要的朋友可以试试!
相关推荐
在Java开发过程中,有时候我们需要监控系统资源或特定进程的状态,例如CPU使用率、内存占用情况等。这在服务器性能监控、问题排查等方面尤为重要。本文将详细介绍如何使用Sigar库来实现这些功能。 #### Sigar简介 ...
在IT行业中,进程是操作系统中运行的程序实例,每个进程都有独立的内存空间和资源,因此管理和监控进程对于系统的稳定性和性能至关重要。 该小程序的核心功能是确保指定的进程始终保持运行状态。当监控到目标进程...
在Java编程环境中,监控任务管理器中的特定进程是一项常见的需求,尤其在系统管理和性能优化时。这个任务可以通过Java的多种工具和库来实现,其中包括Java的`Runtime`类、`ProcessBuilder`类以及第三方库如JMX(Java...
在信息技术领域,进程监控是系统管理的重要环节,它能够帮助我们了解系统的运行状态,及时发现并处理潜在的问题。Java作为一种跨平台的开发语言,其丰富的库和强大的功能使得开发Windows进程监控软件成为可能。本篇...
在Java开发中,有时我们需要处理一系列复杂的问题,如管理进程、执行定时任务、处理异常以及隐藏命令行窗口。本文将详细探讨这些知识点,并提供一种自动重启JBOSS服务器的方案。 首先,我们要理解如何在Java中杀死...
总之,通过使用Sigar库,Java开发者能够轻松构建一个全面的服务器监控系统,对CPU、内存、硬盘和网络流量进行实时监控,从而确保服务的高效稳定运行。这对于任何依赖于服务器性能的应用来说,都是至关重要的。
将脚本添加到计划任务后可定期自动检查指定的服务运行状态,一旦监控的服务异常停止,将自动启动该服务
Java进程是指在操作系统中运行的Java应用程序实例,每个进程都有自己的内存空间和独立的执行线程。在Java中,通过JVM(Java虚拟机)来执行字节码,每个JVM实例就是一个进程。理解Java进程对于性能调优、资源管理和...
在Java应用程序运行过程中,如果发现并回收不再使用的对象,可以防止内存泄漏,确保程序稳定运行。当我们遇到应用程序性能下降或者内存消耗过快的问题时,就需要关注哪个进程在频繁进行GC操作。下面我们将详细探讨...
通过JMX,开发人员和系统管理员可以远程监控和管理运行中的Java应用。 #### 二、Zabbix-Java-gateway工作原理 Zabbix-Java-gateway是Zabbix为实现JMX监控而设计的一个组件。其工作流程如下: 1. **Zabbix Server...
在Java开发中,对JVM(Java虚拟机)的监控是至关重要的,它能帮助我们了解应用程序的性能、内存消耗和资源使用情况。Java提供了一系列内置工具,方便开发者监控JVM运行状态。以下是对这些工具的详细介绍: 1. **jps...
在编程中,我们有时需要检查某个特定的进程是否正在运行,以便进行相应的操作,如控制、监控或管理该进程。这个过程通常被称为“判断进程是否存在”。在本文中,我们将深入探讨如何在不同的操作系统和编程语言中实现...
在Linux系统中,监控Java进程及其线程的CPU使用情况是进行性能调优的重要环节。以下是一些关于如何实现这一目标的关键知识点。 1. **`ps` 命令**: - `ps` 是一个用于报告当前系统中进程状态的命令。基本用法如 `...
标题"java查看哪个进程切换频繁上下文"提示我们关注的是如何在Java环境中监控进程的上下文切换情况。这里有两个主要的命令工具可以帮助我们实现这一目标: 1. **pidstat**:这是一个Linux系统工具,能够提供关于...
总结一下,要检测Linux系统中某个Java程序是否运行,可以使用`ps -ef | grep java | grep "程序名字"`或`pgrep -f "程序名字"`这样的`shell`命令。这不仅可以帮助系统管理员监控系统资源的使用情况,还可以在需要时...
一个典型的例子是,当Java应用出现响应慢的问题时,通过nmon监控可以发现CPU占用过高,进一步定位到特定的Java进程,进而可能发现是某个服务或方法引起的。此时,可以优化代码,减少不必要的计算,或者调整JVM参数,...
当应用程序尝试加载某个类时,Xposed会先于系统运行,检查该类是否需要被Hook。如果需要,它会替换掉目标方法,插入自定义的逻辑。这种方法可以用于调试、性能分析、安全检测等多个场景。 为了进行进程注入和Java层...
例如,我们可以通过`jinfo -flag <flag> <pid>`查看某个Java进程是否启用了特定的JVM标志,或者使用`jinfo -flags <pid>`列出所有有效的JVM标志。 `jmap`则是一个用于分析堆内存的工具。它允许我们导出堆内存的...
`jps`是JDK自带的一个简单实用的工具,用于列出当前正在运行的所有Java应用程序的进程ID以及基本状态信息。其语法格式如下: ```shell jps [options] [hostid] ``` 如果不指定`hostid`,则默认为当前主机。`jps`的...
过程监控器监视和记录流程开始和停止时间的Java应用程序。 它以YYYY-MM-DD格式同时以CSV和txt格式写入状态。 CSV文件包含应用程序的开始时间,进程的开始时间和结束时间。 TXT文件在每次记录时都会保存该进程的状态...