java调用bat&监控windows下的某一进程是否关闭

本文介绍如何使用Java调用BAT批处理文件,并演示了如何监控Windows下特定进程的状态,包括启动和运行情况。


java调用bat:如果要和Runtime创建的进程交互,必须自己写交互的代码,例如通过socket,两个java进程互相通信。

import java.io.IOException;

public class Main {

public static void main(String[] args){
try {
Runtime rt = Runtime.getRuntime();
rt.exec("cmd.exe /c start c:\\1.bat");
} catch (IOException e) {
e.printStackTrace();
}
}
/* 1.bat的内容
* @echo off
* echo lsd>>c:\lsd.txt
*
* */
}
 



java监控windows下的某一进程是否关闭:应为这里直接调用的操作系统带的命令,所以可以直接用getInputStream()来获得操作系统的反馈信息。如果调用命令启动另一个java应用,两个java应用互相交互,则getInputStream()就没用了。

ProcessBuilder pb = new ProcessBuilder("tasklist");
try {
Process p = pb.start();
BufferedReader rb = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
String storeLine="";
while((line=rb.readLine())!=null){
if(line.indexOf("eclipse.exe")!=-1)//过滤进程eclipse.exe的信息
storeLine = line;
System.out.println(line);
}
//获取进程的pid号
if(storeLine!=""){
int beginIndex = storeLine.indexOf("exe");
int endIndex = storeLine.indexOf("Console");
String pid = storeLine.substring(beginIndex+3, endIndex).trim();
System.out.println("this process id is "+pid);
}else{
System.out.println("this process is not exist");
} 
 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值