Process类是一个抽象类,其内部所有的方法都是抽象的,Runtime.exec()方法可以创建一个本地进程,并返回Process子类的一个实例。
Process类的API如下:
l destroy():杀掉子进程
l exitValue():返回子进程的出口值
l InputStream getErrorStream():获得子进程的错误流
l InputStream getInputStream():获得子进程的输入流
l OutputStream getOutputStream():获得子进程的输出流
l waitFor():导致当前进程等待,一直等到由该Process对象表示的进程已经终止
如何创建Process对象,一般有一下两种方法:
1、每个 ProcessBuilder 实例管理一个进程属性集。start() 方法利用这些属性创建一个新的 Process 实例。start() 方法可以从同一实例重复调用,以利用相同的或相关的属性创建新的子进程。(ProcessBuilder这个是JDK5中新添加的final类,详细请参看“深入研究java.lang.ProcessBuilder类”一文。
2、Runtime.exec() 方法创建一个本机进程,并返回 Process 子类的一个实例.
简单实例1(创建子进程):
Process process = Runtime.getRuntime().exec("a.bat");
process.waitFor();
在windows平台上,以上程序执行完毕后往往并不会自动关闭,从而导致Java应用程序阻塞在waitfor( )。导致该现象的一个可能的原因是,该可执行程序的标准输出比较多,而运行窗口的标准输出缓冲区不够大。解决的办法是,利用Java提供的Process类提供的方法让Java虚拟机截获被调用程序的DOS运行窗口的标准输出,在waitfor()方法之前读出窗口的标准输出缓冲区中的内容。示例如下:
简单示例2(读取标准缓冲区内容):
Process process = Runtime.getRuntime().exec("ipconfig");
BufferedReader bufferedReader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line=bufferedReader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
通过getOutputStream可以向子进程提供标准输入,如:
简单示例3(向子进程提供标准输入):
Process process = Runtime.getRuntime().exec("a.bat");
bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
bw.write("hello");
bw.newLine();
bw.flush();
bw.close();
…
相关推荐
实现内存动态分区,运用Java语言,一共四个类,这是process类
在.NET框架中,`System.Diagnostics.Process`类是一个强大的工具,用于与系统中的进程进行交互。这个类提供了启动、控制和监视本地或远程计算机上的进程的能力。让我们深入探讨`Process`类的各个方面及其常见用途。 ...
根据提供的标题和描述,“修改过Process类”可能指的是用户或开发者对原生的`Process`类进行了扩展或定制,以便满足特定的需求,同时确保这种修改不会与系统自带的`Process`类产生冲突。 首先,我们来了解一下`...
**一、Process类的基本概念** `Process`类是.NET Framework的`System.Diagnostics`命名空间的一部分,它允许开发者获取有关正在运行的进程的信息,或者创建并控制新的进程。一个进程可以包含多个线程,每个线程执行...
Java.lang.Process 类深入研究 Java.lang.Process 类是 Java 类库中的一个核心部分,它提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。下面将对 Process 类...
本文将深入探讨如何利用C#的Process类来调用系统应用程序,例如打开计算器、画图软件或记事本等。 首先,我们需要了解Process类的基本用法。以下是一个简单的示例,演示如何使用Process.Start()方法启动计算器程序...
在C#编程中,`Process`类是用于管理和控制操作系统进程的核心工具,它位于`System.Diagnostics`命名空间中。本文将深入探讨`Process`类的使用,包括获取、显示和操作进程的方法。 首先,`Process`类允许开发者获取...
在C#编程中,`Process`类是System.Diagnostics命名空间中的一个重要组成部分,它允许开发者与操作系统中的进程进行交互。这个类提供了丰富的功能,包括启动、控制和查询进程的状态。在这个项目中,我们利用`Process`...
在C#编程中,`Process`类是System.Diagnostics命名空间中的一个重要组成部分,它为我们提供了管理和控制操作系统进程的能力。本文将详细解析`Process`类在任务管理器中的应用,包括新建任务、结束任务、资源管理、...
在.NET框架中,C#语言提供了丰富的类库来支持系统级别的操作,其中之一就是`System.Diagnostics.Process`类。这个类主要用于管理和控制操作系统中的进程,包括获取进程列表、监视进程资源使用情况以及与进程进行交互...
在.NET框架中,C#提供了一种方便的方式来与操作系统交互,包括执行DOS命令,这就是通过使用`System.Diagnostics.Process`类。本篇文章将详细介绍如何利用`Process`类在C#中调用DOS命令,以及相关的核心概念和步骤。 ...
在C#编程中,`System.Diagnostics.Process` 类是用于与外部进程交互的重要工具。通过这个类,我们可以启动、控制和管理应用程序,甚至可以执行DOS命令。以下将详细阐述如何利用`Process`类来调用外部程序并执行DOS...
在C#编程中,`System.Diagnostics.Process`类是用于管理和控制操作系统进程的关键工具。这篇文章将深入探讨如何利用这个类调用第三方插件,比如SWFTools,将PDF文件转换为SWF文件。首先,让我们详细了解`Process`类...
imagePRocess类能够根据设定的尺寸,将原始图片压缩成小尺寸的缩略图,同时保持原图比例,防止失真。 2. **图片水印**:水印功能允许用户在图片上添加文字或图像,作为版权保护或品牌标识。imagePRocess支持文字和...
在这个场景下,`System.Diagnostics.Process` 类扮演了重要角色,它允许开发者在C# WinForm应用程序中管理进程。本文将详细探讨如何使用`Process`类来启动、停止和观察本机的记事本进程。 首先,我们需要引入`...
对于CPU使用率的计算,我们需要不断地获取System.Diagnostics.Process类的TotalProcessorTime属性,并与上一次获取的时间进行比较,通过计算差值来得到CPU使用率。同时,我们还需要考虑到多核处理器的情况,将所有...
在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中。 示例一 代码如下:using System.Diagnostics; Process p = Process.Start(“notepad.exe”); p.WaitForExit();//关键,等待外部程序...
C#中的Process类是.NET Framework中用于处理本地和远程进程的一个类,它允许程序员启动和停止本地系统进程,并提供了与进程交互的能力。在许多软件开发场景中,我们需要从我们的程序中启动其他外部程序,此时Process...
在C#编程语言中,通过使用`System.Diagnostics.Process`类可以轻松实现调用外部程序的功能。根据提供的文件信息,本文将详细介绍如何利用`Process`类来执行DOS命令,并深入探讨其中涉及的关键概念和技术细节。 ### ...