Java 创建进程

442 阅读1分钟
import java.io.IOException;

public class ProcessBuilderEnvEx {
    public static void main(String... args) {
        try {
            //创建线程构建器
            var processBuilder = new ProcessBuilder();
            //传入启动程序exe文件以及参数
            //processBuilder.command("mstsc.exe", "/c", "dir");
            processBuilder.command("Z:\\C_Program\\Test3\\a.exe");
            var process = processBuilder.inheritIO().start();
            int exitCode = process.waitFor();
            System.out.printf("Program ended with exitCode %d", exitCode);
        } catch (Exception e) {
            System.out.println("Error");
        }

    }
}

在编写一个C程序

#include <stdio.h>

int main()
{
    printf("Hello, World! \n");
    getchar();
    return 3;
}

编译为.exe文件

查看输出结果

Z:\Java_Program\Test1>javac -encoding utf-8 ProcessBuilderEnvEx.java

Z:\Java_Program\Test1>java ProcessBuilderEnvEx
Hello, World!

Program ended with exitCode 3

可以看到waitFor方法可以获取到创建出进程的程序运行结束的返回值