ard-work/src/main/java/com/ruoyi/utils/tools/CmdUtils.java
@@ -7,6 +7,7 @@
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;
/**
 * @Description: cmd命令工具类
@@ -18,10 +19,20 @@
@Slf4j(topic = "cmd")
public class CmdUtils {
    //启动命令1
    public static void commandStart(String processName, List<String> command) {
        log.debug("启动外部程序:" + processName);
        command.forEach(v -> log.debug(v + " "));
    public static void commandStart(String processName, List<String> command, Map<String, String> env) {
        log.debug("启动外部程序:【" + processName+"】");
//        command.forEach(v -> log.debug(v + " "));
        log.debug(String.join(" ", command));
        ProcessBuilder builder = new ProcessBuilder();
        // 获取子进程的环境变量映射
        if (env != null) {
            env.entrySet().forEach(entry -> {
                log.debug(entry.getKey() + ":" + entry.getValue());
            });
            Map<String, String> envMap = builder.environment();
            envMap.putAll(env);
        }
        //正常信息和错误信息合并输出
        builder.redirectErrorStream(true);
        builder.command(command);
@@ -36,13 +47,13 @@
//                System.out.println(line);
//            }
        } catch (IOException e) {
            e.printStackTrace();
            log.error("cmd异常:" + e.getMessage());
        }
    }
    // 结束指定名称的进程
    public static void stopProcess(String processName) {
        log.debug("尝试结束进程:"+processName);
        log.debug("尝试结束进程:" + processName);
        ProcessBuilder builder = new ProcessBuilder("taskkill", "/F", "/IM", processName);
        Process process;
        try {