Process介绍
在Java中,Process类是一个抽象类,它提供了与操作系统中的进程进行交互的方法。当你在Java程序中启动一个新的进程(例如,运行一个外部程序或脚本)时,JVM会创建一个Process实例来代表这个新的进程。
Process类提供了以下主要的方法:
- getInputStream():获取进程的标准输出流。你可以从这个流中读取进程的输出。
- getErrorStream():获取进程的错误输出流。你可以从这个流中读取进程的错误输出。
- getOutputStream():获取进程的标准输入流。你可以向这个流中写入数据,作为进程的输入。
- waitFor():等待进程结束,并返回进程的退出状态码。
- exitValue():获取进程的退出状态码。如果进程还没有结束,这个方法会抛出IllegalThreadStateException。
- destroy():强制结束进程。
以下是一个使用Process类的例子,它启动一个新的进程来运行ping命令:
Process process = Runtime.getRuntime().exec("ping www.google.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
在这个例子中,我们首先使用Runtime.exec方法启动一个新的进程来运行ping命令。然后,我们创建一个BufferedReader来读取进程的输出。最后,我们使用Process.waitFor方法等待进程结束。
使用
- 使用Runtime.getRuntime().exec("java -c"),相当于调用三方库(三方程序)