lyhzzz 2 年之前
父節點
當前提交
5c5311e690

+ 22 - 4
src/main/java/com/fdkankan/fusion/common/util/ShellUtil.java

@@ -4,10 +4,7 @@ import cn.hutool.core.io.file.FileReader;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStreamReader;
+import java.io.*;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 
@@ -15,6 +12,27 @@ import java.nio.charset.StandardCharsets;
 public class ShellUtil {
 
     public final static String LAS_TO_BIN = "bash  /home/ubuntu/bin/PotreeConverter.sh @inPath @outPath ''";
+
+
+    public static void execDockerCmd(String cmd){
+        log.info("execDockerCmd:{}",cmd);
+        ProcessBuilder processBuilder = new ProcessBuilder(cmd);
+        Process process;
+        try {
+            process = processBuilder.start();
+            BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
+            String line;
+            System.out.println("Output is: ");
+            while ((line = br.readLine()) != null) {
+                System.out.println(line);
+            }
+            process.waitFor();
+        } catch (Exception e) {
+            log.error("execDockerCmd:{},error:{}",cmd,e);
+        }
+
+    }
+
         /**
          * 执行系统命令, 返回执行结果
          * @param cmd 需要执行的命令

+ 3 - 0
src/main/java/com/fdkankan/fusion/controller/TestController.java

@@ -2,6 +2,7 @@ package com.fdkankan.fusion.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.fusion.common.ResultData;
+import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.entity.FusionMeter;
 import com.fdkankan.fusion.service.IFusionMeterService;
 import com.fdkankan.redis.util.RedisUtil;
@@ -21,6 +22,8 @@ public class TestController {
 
     @RequestMapping("/test")
     public ResultData test(){
+        String cmd = "sudo docker exec -it 3dtile /bin/bash -c '/mnt/fusion/3dtile.sh -f osgb -i /mnt/fusion/osgb/modelId_578/OSGB -o /mnt/fusion/b3dm/modelId_578/OSGB'";
+        ShellUtil.execDockerCmd(cmd);
         return ResultData.ok();
     }