`

JAVA Process类的简单学习

    博客分类:
  • JAVA
阅读更多
(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){  
                }  
            }  
              
        }  
    }  

分享到:
评论

相关推荐

    java做的简单的进度条

    Java中的进度条是一种可视化元素,通常用于在执行耗时操作时提供用户反馈,让用户知道程序正在运行并估计...通过实践这个简单的例子,初学者可以更好地理解Java GUI编程,并为进一步学习更复杂的Swing组件打下基础。

    Java通过进程名称杀进程

    通过本文的学习,我们可以了解到如何利用Java语言结合Windows系统的命令行工具来实现进程的终止功能。这种方法不仅适用于简单的开发测试场景,也可以应用于复杂的生产环境管理任务。此外,还介绍了一些进阶技巧和...

    OS.zip_OS process java_java 操作系统

    总的来说,"OS.java"文件可能是对操作系统进程管理的一个简化版实现,它可以帮助开发者学习和理解操作系统如何管理和调度进程,以及进程间的通信和协作。通过这种方式,开发者可以更好地掌握操作系统的基础知识,并...

    利用app-process实现免root调用shell-Java-下载

    通过学习这些示例,你可以更好地理解如何在Android上利用`app_process`来调用shell命令,以及如何处理相关的Java编程和权限问题。 总的来说,掌握`app_process`的使用不仅可以帮助开发者在非root环境下执行系统级...

    Java Learning Path process外文文献.doc

    实际上,JDK的学习并不简单,有两个问题常常困扰着Java程序员:一个是CLASSPATH问题,从原理上讲,如何明确JRE ClassLoader加载Class的方式;另一个是包与import的问题,如何寻找类的方法。这两个问题需要弄清楚,这...

    java学习详细笔记

    ### Java学习详细笔记 #### 1. 什么是JDBC? JDBC(Java Database Connectivity)是Java平台中的数据库连接技术,它允许Java程序连接各种类型的数据库并执行SQL命令。JDBC由一组接口和类组成,这些接口和类为开发...

    JAVA邮件学习

    1. **JavaMail API介绍**:JavaMail API是由Java Community Process(JCP)定义的JSR 54规范,为开发者提供了在Java应用程序中处理邮件的接口和类。它不仅支持SMTP(简单邮件传输协议)发送邮件,还支持IMAP(因特网...

    app_process.rar

    接下来,`demo`通常指的是示例代码或者演示应用,这里可能包含了一个简单的Android应用示例,用于展示如何使用`app_process`执行Java代码,特别是执行`.jar`文件。在Android中,虽然大部分应用是以`.apk`格式打包的...

    java3d新手入门

    本指南将引导初学者逐步了解Java3D的基本概念、核心组件以及如何通过编写简单的示例程序来掌握其基本用法。 1. **Java3D基础** Java3D是建立在Java Foundation Classes (JFC)之上的,它利用OpenGL标准来实现高效...

    Java Socket编程实现的简单多线程WEB服务器

    这个简单的 WEB 服务器可以用来测试和学习网络编程的基础知识。 知识点: 1. Java Socket 编程的基础知识 2. ServerSocket 和 Socket 的使用 3. 多线程编程在服务器端的应用 4. HTTP 协议的基础知识 5. ...

    java基础学习(电子书)

    1. **Java编程思想**:这本由Bruce Eckel编写的经典书籍深入介绍了Java的核心概念,包括面向对象编程(OOP)、类与对象、继承、多态性以及接口。它还涵盖了异常处理、垃圾回收机制、集合框架、输入/输出系统和多线程...

    JavaCard入门源码

    1. 设计Applet:定义Applet的类结构,实现必要的方法,如install()、select()、process()等。 2. 编译:使用JavaCard SDK的工具将源代码编译成字节码。 3. 打包:将编译后的字节码和相关的资源打包成CAP文件。 4. ...

    jdk-17.0.1,Java17

    Java 17的安装过程相对简单,特别适合那些希望快速开始编程的开发者。描述中的“懒人使用”意味着它提供了一种快速启动的方法,无需复杂的配置。在Windows系统中,通常推荐将JDK安装在"C:\Program Files\Java"这样的...

    java_image_process.rar_8bit to 2bit gr_image java_java image pro

    本项目"java_image_process.rar_8bit to 2bit gr_image java_java image pro"聚焦于用Java实现图像的各种操作,包括8位到2位的灰度图像量化、图像平滑、二值化、边缘检测、量化、傅立叶变换、线性灰度变化、图像锐化...

    Java连接opc所需的jar包,以及Java实现opc server客户端的源码.zip

    Java连接OPC(OLE for Process Control)主要涉及的是在Java应用程序中与工业自动化设备或系统的交互,这通常用于数据采集和控制。OPC是微软Windows平台上的标准接口,但通过各种库和API,也能在非Windows环境如Java...

    用java封装的sox工具

    2. **易用性**:Java API提供了面向对象的接口,使得开发者可以通过简单的函数调用来执行复杂的音频处理任务,降低了学习和使用成本。 3. **错误处理**:封装可以对异常进行统一管理,如果在执行sox命令时出现错误...

    freemarker java解析依赖工具类.zip

    Freemarker是一个强大的模板引擎,它在Java世界中被广泛用于生成动态HTML、XML或其他文本格式...通过学习和使用这些源码和工具类,你可以更深入地掌握Freemarker的工作方式,从而更好地利用它为你的项目生成动态内容。

    某硅谷java9新特性学习完整视频,课件,源码

    尚硅谷作为知名的IT教育机构,提供了完整的视频教程、课件及源码资源,这为学习者提供了一个全面的学习环境来深入了解Java 9的重要更新。 ### Java 9 新特性概述 #### 1. **模块系统(Jigsaw)** Java 9引入了模块...

    Java模仿DOS界面(cmd程序) (Demo)

    此外,我们还可以使用`java.lang.Process`类的其他方法,例如`getInputStream()`获取标准输出,`getErrorStream()`获取错误输出,以及`destroy()`终止进程。`waitFor()`方法用于等待进程结束,确保所有输出都被读取...

    Java The Complete Reference 9th

    Java具有简单、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程和动态等特点。Java可以在多种不同的计算平台上实现一次编写,到处运行的特性。Java自发布以来,已经经历了多个版本的...

Global site tag (gtag.js) - Google Analytics