JAVA Process类的简单学习

(1)执行简单的DOS命令,如打开一个记事本



Java代码
package com.iwtxokhtd.other;

import java.io.IOException;

public class ProcessTest {

public static void main(String[] args) {
try {
Process proc=Runtime.getRuntime().exec("notepad");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

package com.iwtxokhtd.other;

import java.io.IOException;

public class ProcessTest {

public static void main(String[] args) {
try {
Process proc=Runtime.getRuntime().exec("notepad");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


(2)使用它的其它构造方法执行相关的命令,如下例:



Java代码
package com.iwtxokhtd.other;

import java.io.IOException;

public class ProcessTest {

public static void main(String[] args) {
try {

String exeFullPathName="C:/Program Files/Internet Explorer/IEXPLORE.EXE";
String message="www.google.com";
String []cmd={exeFullPathName,message};
Process proc=Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

package com.iwtxokhtd.other;

import java.io.IOException;

public class ProcessTest {

public static void main(String[] args) {
try {

String exeFullPathName="C:/Program Files/Internet Explorer/IEXPLORE.EXE";
String message="www.google.com";
String []cmd={exeFullPathName,message};
Process proc=Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


执行上述命令可以打开Google网站

(3)列出系统正在运行的所有进程信息



Java代码
package com.iwtxokhtd.other;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ListAllProcessTest {

//列出所有的进程信息
public static void main(String[] args) {
BufferedReader br=null;
try {
Process proc=Runtime.getRuntime().exec("tasklist");
br=new BufferedReader(new InputStreamReader(proc.getInputStream()));
@SuppressWarnings("unused")
String line=null;
System.out.println("打印所有正在运行的进程信息");
while((line=br.readLine())!=null){
System.out.println(br.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(br!=null){
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}


}

}

package com.iwtxokhtd.other;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ListAllProcessTest {

//列出所有的进程信息
public static void main(String[] args) {
BufferedReader br=null;
try {
Process proc=Runtime.getRuntime().exec("tasklist");
br=new BufferedReader(new InputStreamReader(proc.getInputStream()));
@SuppressWarnings("unused")
String line=null;
System.out.println("打印所有正在运行的进程信息");
while((line=br.readLine())!=null){
System.out.println(br.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(br!=null){
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}


}

}


(4)判断一个具体的进程是否正在运行,如下例:

Java代码
package com.iwtxokhtd.other;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class FindProcessExeTest
{
public static void main(String []args){

if(findProcess("QQ.exe")){
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程正在运行!");
}else{
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程没有在运行!");
}

}
public static boolean findProcess(String processName){
BufferedReader br=null;
try{

//下面这句是列出含有processName的进程图像名
Process proc=Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq "+processName+"\"");
br=new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line=null;
while((line=br.readLine())!=null){
//判断指定的进程是否在运行
if(line.contains(processName)){
return true;
}
}

return false;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
if(br!=null){
try{
br.close();
}catch(Exception ex){
}
}

}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值