`
nicegege
  • 浏览: 589766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

介绍java的Process类

 
阅读更多
public abstract class Process extends Object

ProcessBuilder.start()和Runtime.exec方法创建一个本机进程,并返回process子类的一个实例,该实例可用来控制进程并获取相关信息。Process类提供了执行从进程输入、执行输出到等待进程完成、检查进程的退出状态及销毁(杀掉)进程的方法。

创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows上的Win16/Dos进程,或者Shell脚本。创建的子进程没有自己的终端或控制台。它的所有标准io(即 stdin、stdout和stderr)操作都将通过三个流(getOutputStream()、getInputStream()、getErrorStream())重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。

当没有 Process 对象的更多引用时,不是删掉子进程,而是继续异步执行子进程。

对于带有 Process 对象的 Java 进程,没有必要异步或并发执行由 Process 对象表示的进程。

方法摘要
abstract
 void
destroy()
          杀掉子进程。
abstract
 int
exitValue()
          返回子进程的出口值。
abstract  InputStream getErrorStream()
          获取子进程的错误流。
abstract  InputStream getInputStream()
          获取子进程的输入流。
abstract  OutputStream getOutputStream()
          获取子进程的输出流。
abstract
 int
waitFor()
          导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止

 

 

实例:java程序中运行Ping命令 

package mldn.basic;

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

public class PingWWW {
	public static void main(String[] args) {
		BufferedReader br = null;
		try {
			Process p = Runtime.getRuntime().exec("ping www.baidu.com");
			br = new BufferedReader(new InputStreamReader(p.getInputStream()));
			String line = null;
			StringBuilder sb = new StringBuilder();
			while ((line = br.readLine()) != null) {
				sb.append(line + "\n");
			}
			System.out.println(sb.toString());
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
}

 

 

分享到:
评论

相关推荐

    JAVA Process 使用

    在Java编程语言中,`Process`类是处理操作系统进程的核心组件。它允许Java应用程序与操作系统交互,执行外部命令,例如运行系统工具或者控制其他应用程序。本文将深入探讨`JAVA Process`的使用,以及如何通过Java...

    内存动态分区Java - process类

    实现内存动态分区,运用Java语言,一共四个类,这是process类

    Java Process Manager

    Java Process Manager是一个基于Java语言开发的工具,它利用JNI(Java Native Interface)技术与Windows 32 SDK(Software Development Kit)进行交互,旨在提供类似操作系统任务管理器的功能,特别是针对Java进程的...

    Image-Process.rar_Java process-Thread_image process java_java im

    "Image-Process.rar_Java process-Thread_image process java_java im"这个标题暗示了我们将探讨如何在Java中处理图像,特别是涉及线程管理和多线程图像处理。 首先,让我们了解Java中的图像处理基础。Java提供了`...

    Java Process类的详解及实例代码

    Java中的`Process`类是用于表示操作系统级别的进程的抽象类。这个类允许Java应用程序与操作系统交互,执行系统命令,例如启动新的进程、读取进程的输出流、写入进程的输入流以及控制进程的生命周期。在Java中,我们...

    深入研究java.lang.Process类.doc

    Java.lang.Process 类深入研究 Java.lang.Process 类是 Java 类库中的一个核心部分,它提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。下面将对 Process 类...

    java object create process

    在Java编程语言中,对象创建的过程是一个至关重要的概念,它涉及到类的实例化和内存管理。下面我们将深入探讨这个主题。 首先,让我们了解一个Java对象的生命周期,它通常包括以下几个步骤: 1. **定义类(Class ...

    java-image-process.rar_java_java image process

    在"java-image-process"这个项目中,很可能包含了一些自定义的图像处理类或方法,用于封装上述操作,提供更友好的API给开发者使用。可能还会有专门的类负责读取命令行参数或GUI控件的事件,以实现用户指定的图像处理...

    java imageProcess 图像处理程序模板

    1. **Image类**:这是Java中最基础的图像类,包含了图像的宽度、高度和像素数据。你可以通过`ImageIO.read()`方法从文件中加载图像到内存,或者使用`createImage()`方法创建一个新的图像。 2. **BufferedImage类**...

    利用app_process实现免root调用shell_Java_下载.zip

    要利用`app_process`执行shell命令,我们需要创建一个自定义的Java类,并在该类中调用`Runtime.getRuntime().exec()`方法来执行shell命令。以下是一个简单的示例: ```java public class ShellExecutor { public ...

    Java Process详解及实例

    在Java中,Process类是Java Process的核心类,它提供了对外部进程的访问接口。通过Process类,可以创建、执行、监控和控制外部进程。Process类提供了多种方法来执行外部命令,例如exec()方法可以执行指定的命令,...

    Java Community Process 讲解

    ### Java Community Process (JCP) 与 JavaServer Faces (JSF) #### 一、Java Community Process (JCP) Java Community Process (JCP) 是一个开放的技术社区,它为 Java 平台上的技术标准制定提供了框架和支持。...

    java 泛型类的类型识别示例

    本示例将探讨如何在Java中实现泛型类的类型识别。 首先,我们来理解什么是类型识别(Runtime Type Information, RTTI)。在Java中,RTTI允许我们在程序运行时检查和操作对象的实际类型,这是通过使用`instanceof`...

    java调用windows命令

    Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行...

    Java通过进程名称杀进程

    本文将详细介绍如何使用Java代码实现基于进程名称的进程终止功能,特别是针对Windows操作系统下的`java-test.exe`进程。这不仅适用于开发者调试自身程序时的需求,也适用于系统管理员批量管理运行在Windows服务器上...

    Java中使用Runtime和Process类运行外部程序.docx

    在Java编程中,有时我们需要在程序中调用操作系统级别的命令或者执行外部程序,这就涉及到Java中的`Runtime`和`Process`类。这两个类提供了一种机制,使得Java应用程序能够与操作系统进行交互,执行系统命令或者运行...

    Java Process命令小全

    Java Process命令小全 Java Process命令小全是Java中的一种命令,用于执行操作系统的命令。通过Runtime.getRuntime().exec(commandStr)方法可以调用执行cmd指令。 cmd命令是Windows操作系统中的命令行工具,用于...

    java李兴华学习笔记之Java常用类库

    - **System、Runtime、Process、Math、Calendar类**:理解这些类的功能及应用场景。 - **反射机制**:深入学习反射机制及其在程序设计中的应用。 接下来,我们将详细探讨文档中提到的一些核心知识点。 #### 二、...

    ExcelProcess.java

    ExcelProcess.java

    process.JAVA

    进程控制块的设计与实现 进程的创建,执行,阻塞,唤醒。 还有进程调度,采用了短作业优先和先来先服务算法

Global site tag (gtag.js) - Google Analytics