进程
2022年6月22日大约 1 分钟约 302 字
上述已经了解了如何在同一个程序的不同线程中执行Java代码,而有时还需要执行另一个程序,为此 Java 提供了 ProcessBuilder
和 Process
类。
Process
类在一个单独的操作系统进程中执行一个命令,允许我们与标准输入、输出和错误流交互。ProcessBuilder
类则允许我们配置Process
对象(ProcessBuilder
类可以取代Runtime.exec
调用,而且更为灵活)。
建立进程
首先指定你想要执行的命令,可以提供一个 List<String>
或者直接提供命令字符串:
var builder = new ProcessBuilder("gcc", "myapp.c");
每个进程都有一个工作目录,用来解析相对目录名。默认情况下,进程的工作目录与虚拟机相同,通常是启动 Java 程序的那个目录。可以用 directory
方法改变工作目录:
builder = builder.directory(path.toFile());
以后再看吧......
运行进程
以后再看吧......
进程句柄
要获得程序启动的一个进程的更多信息,或者想更多地了解你的计算机上正在运行的任何其他线程,可以使用 ProcessHandle
接口。
以后再看吧......