From e40a44e66f43c2e28f0ca5e791e4acdb343a0ef8 Mon Sep 17 00:00:00 2001 From: TangsongyuanmingQingHAD Date: Mon, 6 Jan 2020 15:22:02 +0800 Subject: [PATCH 1/2] javaFork --- src/main/java/com/github/hcsp/shell/Fork.java | 7 +++++++ 1 file changed, 7 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..20e3e68 100644 --- a/src/main/java/com/github/hcsp/shell/Fork.java +++ b/src/main/java/com/github/hcsp/shell/Fork.java @@ -3,6 +3,7 @@ import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Map; public class Fork { public static void main(String[] args) throws Exception { @@ -10,6 +11,12 @@ public static void main(String[] args) throws Exception { // 工作目录是项目目录下的working-directory目录(可以用getWorkingDir()方法得到这个目录对应的File对象) // 传递的命令是sh run.sh // 环境变量是AAA=123 + ProcessBuilder processBuilder = new ProcessBuilder("sh","run.sh"); + processBuilder.directory(getWorkingDir()); + Map envs = processBuilder.environment(); + envs.put("AAA","123"); + processBuilder.inheritIO(); + processBuilder.start().waitFor(); } private static File getWorkingDir() { From 534ecd922eda1f3c91cadd84b497cc46d5d53a03 Mon Sep 17 00:00:00 2001 From: TangsongyuanmingQingHAD Date: Mon, 6 Jan 2020 18:51:37 +0800 Subject: [PATCH 2/2] javaFork --- src/main/java/com/github/hcsp/shell/Fork.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/github/hcsp/shell/Fork.java b/src/main/java/com/github/hcsp/shell/Fork.java index 20e3e68..5416187 100644 --- a/src/main/java/com/github/hcsp/shell/Fork.java +++ b/src/main/java/com/github/hcsp/shell/Fork.java @@ -15,7 +15,7 @@ public static void main(String[] args) throws Exception { processBuilder.directory(getWorkingDir()); Map envs = processBuilder.environment(); envs.put("AAA","123"); - processBuilder.inheritIO(); + processBuilder.redirectOutput(getOutputFile()); processBuilder.start().waitFor(); }