From ba1e219d97e123b91657dc424f13a2fdeaa85d21 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Mon, 21 Aug 2023 13:37:01 +0800
Subject: [PATCH] 修改兴趣点列表井号模糊查询

---
 ard-work/src/main/java/com/ruoyi/utils/tools/CmdUtils.java |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/CmdUtils.java b/ard-work/src/main/java/com/ruoyi/utils/tools/CmdUtils.java
index 60a9915..3204542 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/tools/CmdUtils.java
+++ b/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 {

--
Gitblit v1.9.3