java获取所有进程_Java 获取系统的进程列表

本文介绍如何使用Java通过`Runtime.getRuntime().exec("tasklist")`方法获取系统进程列表,以检查特定进程(如'QQ.exe')是否正在运行。此功能在需要控制进程数量的场景下非常有用,防止因频繁启动导致系统资源耗尽。
摘要由CSDN通过智能技术生成

前几天发表了《Java 定时启动服务》文章,现在发表这篇文档《Java 获取系统的进程列表》,看似联系不大,实质在某些需求上还是有所关系。比如现在有这个需求:定时器启动服务时,要求启动一个“exe进程”来完成一些操作(下载图片),这时需要出入一个参数。但事实上我们已经获取到要出入的参数列表,当我们不能直接去循环遍历参数列表,因为这样的话,如果参数列表项比较多,那么每次循环都要启动一个“exe进程”,可能直接导致系统内存不足而死机。如果每次启动服务时,我们判断系统进程中是否存在该“exe进程”,或者判断该“exe进程”数不大于某个范围值,再启动服务就可以很好的避免这个问题了。下面直接上代码:

ProcessListTest.java

package com.minimax.listeren;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

/**

*

* @包名 :com.minimax.listeren

* @文件名 :ProcessListTest.java

* @类描述 :判断系统进程是否存在

* @作者 :Andy.wang

* @创建时间 :2014-3-5上午11:25:26

* @更改人 :

* @更改时间 :

*/

public class ProcessListTest {

public static void main(String[] args) throws IOException {

System.out.println(ProcessListTest.isRunning("QQ.exe"));

}

/**

*

* @方法名 :isRunning

* @方法描述 :判断系统进程是否存在

* @创建者 :Andy.wang

* @创建时间 :2014-3-5上午11:25:46

* @param exeName :进程名

* @return

* 返回类型 :boolean

*/

public static boolean isRunning(String exeName) {

Process proc;

try {

proc = Runtime.getRuntime().exec("tasklist");

BufferedReader br = new BufferedReader(new InputStreamReader(proc

.getIn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值