You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by we...@apache.org on 2013/10/04 11:05:51 UTC
git commit: updated refs/heads/4.2 to b4397ac
Updated Branches:
refs/heads/4.2 40716daee -> b4397acfc
CLOUDSTACK-4813: add function to get ExitValue when run bash commands
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/b4397acf
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b4397acf
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b4397acf
Branch: refs/heads/4.2
Commit: b4397acfccd651bc67bb842097def5ded995c125
Parents: 40716da
Author: Wei Zhou <w....@leaseweb.com>
Authored: Fri Oct 4 11:05:41 2013 +0200
Committer: Wei Zhou <w....@leaseweb.com>
Committed: Fri Oct 4 11:05:41 2013 +0200
----------------------------------------------------------------------
utils/src/com/cloud/utils/script/Script.java | 28 ++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b4397acf/utils/src/com/cloud/utils/script/Script.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/script/Script.java b/utils/src/com/cloud/utils/script/Script.java
index d3a3591..48a2fd7 100755
--- a/utils/src/com/cloud/utils/script/Script.java
+++ b/utils/src/com/cloud/utils/script/Script.java
@@ -207,8 +207,8 @@ public class Script implements Callable<String> {
if (interpreter != null) {
return interpreter.drain() ? task.getResult() : interpreter.interpret(ir);
} else {
- // null return is ok apparently
- return (_process.exitValue() == 0) ? "Ok" : "Failed, exit code " + _process.exitValue();
+ // null return exitValue apparently
+ return String.valueOf(_process.exitValue());
}
} else {
break;
@@ -251,7 +251,7 @@ public class Script implements Callable<String> {
error = interpreter.processError(reader);
}
else {
- error = "Non zero exit code : " + _process.exitValue();
+ error = String.valueOf(_process.exitValue());
}
if (_logger.isDebugEnabled()) {
@@ -488,4 +488,26 @@ public class Script implements Callable<String> {
return result.trim();
}
+ public static int runSimpleBashScriptForExitValue(String command) {
+ return runSimpleBashScriptForExitValue(command, 0);
+ }
+
+ public static int runSimpleBashScriptForExitValue(String command, int timeout) {
+
+ Script s = new Script("/bin/bash", timeout);
+ s.add("-c");
+ s.add(command);
+
+ String result = s.execute(null);
+ if (result == null || result.trim().isEmpty())
+ return -1;
+ else {
+ try {
+ return Integer.valueOf(result.trim());
+ } catch (NumberFormatException e) {
+ return -1;
+ }
+ }
+ }
+
}