You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/10/07 20:30:29 UTC
[04/27] git commit: updated refs/heads/ui-restyle to 205f22b
CLOUDSTACK-4813: add function to get ExitValue when run bash commands
(cherry picked from commit b4397acfccd651bc67bb842097def5ded995c125)
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3a999e70
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3a999e70
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3a999e70
Branch: refs/heads/ui-restyle
Commit: 3a999e70af73281a7b682f5c408a036645cd79f6
Parents: 5ed493c
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:06:16 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/3a999e70/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 04ad7c4..b84ff2f 100755
--- a/utils/src/com/cloud/utils/script/Script.java
+++ b/utils/src/com/cloud/utils/script/Script.java
@@ -201,8 +201,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;
@@ -245,7 +245,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()) {
@@ -482,4 +482,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;
+ }
+ }
+ }
+
}