From 8de1e62e7405a8820b8d190b1db172b71a568061 Mon Sep 17 00:00:00 2001 From: zaker-666 <1075151259china@gmail.com> Date: Sat, 4 Jan 2020 21:43:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E6=88=90fork=E5=B9=B6=E9=87=8D?= =?UTF-8?q?=E5=AE=9A=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/github/hcsp/shell/Fork.java | 8 ++++++++ working-directory/output.txt | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/com/github/hcsp/shell/Fork.java b/src/main/java/com/github/hcsp/shell/Fork.java index 28e0700..39f6b1c 100644 --- a/src/main/java/com/github/hcsp/shell/Fork.java +++ b/src/main/java/com/github/hcsp/shell/Fork.java @@ -3,6 +3,8 @@ import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; public class Fork { public static void main(String[] args) throws Exception { @@ -10,6 +12,12 @@ public static void main(String[] args) throws Exception { // 工作目录是项目目录下的working-directory目录(可以用getWorkingDir()方法得到这个目录对应的File对象) // 传递的命令是sh run.sh // 环境变量是AAA=123 + ProcessBuilder pb =new ProcessBuilder("sh","run.sh"); + pb.directory(getWorkingDir()); + Map environment = pb.environment(); + environment.put("AAA","123"); + pb.redirectOutput(getOutputFile()); + pb.start().waitFor(); } private static File getWorkingDir() { diff --git a/working-directory/output.txt b/working-directory/output.txt index e69de29..0e2f7f1 100644 --- a/working-directory/output.txt +++ b/working-directory/output.txt @@ -0,0 +1,7 @@ +AAA is: 123 +total 18K +-rw-r--r-- 1 liukaiqiang 197609 12 Jan 4 21:39 output.txt +drwxr-xr-x 1 liukaiqiang 197609 0 Jan 4 21:39 .. +drwxr-xr-x 1 liukaiqiang 197609 0 Jan 4 10:44 . +-rwxr-xr-x 1 liukaiqiang 197609 50 Jan 4 10:44 run.sh +-rw-r--r-- 1 liukaiqiang 197609 11K Jan 4 10:44 .hidden.txt From 161259c6c00de0125521b7c0c1c3099e8fad3183 Mon Sep 17 00:00:00 2001 From: zaker-666 <1075151259china@gmail.com> Date: Sun, 5 Jan 2020 10:03:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E6=88=90fork=E5=B9=B6=E9=87=8D?= =?UTF-8?q?=E5=AE=9A=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- working-directory/output.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/working-directory/output.txt b/working-directory/output.txt index 0e2f7f1..8b13789 100644 --- a/working-directory/output.txt +++ b/working-directory/output.txt @@ -1,7 +1 @@ -AAA is: 123 -total 18K --rw-r--r-- 1 liukaiqiang 197609 12 Jan 4 21:39 output.txt -drwxr-xr-x 1 liukaiqiang 197609 0 Jan 4 21:39 .. -drwxr-xr-x 1 liukaiqiang 197609 0 Jan 4 10:44 . --rwxr-xr-x 1 liukaiqiang 197609 50 Jan 4 10:44 run.sh --rw-r--r-- 1 liukaiqiang 197609 11K Jan 4 10:44 .hidden.txt +