diff --git a/utils/src/com/cloud/utils/script/Script.java b/utils/src/com/cloud/utils/script/Script.java index 88f4c356543..264601a0c3e 100755 --- a/utils/src/com/cloud/utils/script/Script.java +++ b/utils/src/com/cloud/utils/script/Script.java @@ -52,6 +52,7 @@ public class Script implements Callable { private static final ScheduledExecutorService s_executors = Executors.newScheduledThreadPool(10, new NamedThreadFactory("Script")); + String _workDir; ArrayList _command; long _timeout; Process _process; @@ -105,6 +106,10 @@ public class Script implements Callable { _command.add(value); return this; } + + public void setWorkDir(String workDir) { + _workDir = workDir; + } protected String buildCommandLine(String[] command) { StringBuilder builder = new StringBuilder(); @@ -159,6 +164,9 @@ public class Script implements Callable { try { ProcessBuilder pb = new ProcessBuilder(command); pb.redirectErrorStream(true); + if(_workDir != null) + pb.directory(new File(_workDir)); + _process = pb.start(); if (_process == null) { _logger.warn("Unable to execute: " + buildCommandLine(command));