diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java index fea47d44..4f0f3631 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/ScriptUtil.java @@ -59,22 +59,23 @@ public class ScriptUtil { // 标准输出:print (null if watchdog timeout) // 错误输出:logging + 异常 (still exists if watchdog timeout) // 标准输入 - FileOutputStream fileOutputStream = new FileOutputStream(logFile, true); - PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null); + try (FileOutputStream fileOutputStream = new FileOutputStream(logFile, true)) { + PumpStreamHandler streamHandler = new PumpStreamHandler(fileOutputStream, fileOutputStream, null); - // command - CommandLine commandline = new CommandLine(command); - commandline.addArgument(scriptFile); - if (params!=null && params.length>0) { - commandline.addArguments(params); - } + // command + CommandLine commandline = new CommandLine(command); + commandline.addArgument(scriptFile); + if (params!=null && params.length>0) { + commandline.addArguments(params); + } - // exec - DefaultExecutor exec = new DefaultExecutor(); - exec.setExitValues(null); - exec.setStreamHandler(streamHandler); - int exitValue = exec.execute(commandline); // exit code: 0=success, 1=error - return exitValue; + // exec + DefaultExecutor exec = new DefaultExecutor(); + exec.setExitValues(null); + exec.setStreamHandler(streamHandler); + int exitValue = exec.execute(commandline); // exit code: 0=success, 1=error + return exitValue; + } } }