summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2016-12-31 03:20:50 +0300
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2016-12-31 03:20:50 +0300
commit1eab1833d27e4a9c5715e9927d4c485c39c03d61 (patch)
tree9569a5261de640a0c2b86f15da93961b8a96c4ea /modules
parentshell.scm (rexec): Check only for EOF object (diff)
downloadguile-ssh-1eab1833d27e4a9c5715e9927d4c485c39c03d61.tar.gz
shell.scm (loadavg): New procedure
* modules/ssh/shell.scm (loadavg): New procedure.
Diffstat (limited to 'modules')
-rw-r--r--modules/ssh/shell.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/ssh/shell.scm b/modules/ssh/shell.scm
index 6277b60..b98b69c 100644
--- a/modules/ssh/shell.scm
+++ b/modules/ssh/shell.scm
@@ -48,7 +48,7 @@
#:use-module (ssh popen)
#:use-module (ssh log)
#:export (rexec which pgrep pkill fallback-pgrep command-available?
- fallback-pkill))
+ fallback-pkill loadavg))
;;;
@@ -154,4 +154,12 @@ code."
(which session command)
(zero? rc)))
+(define (loadavg session)
+ "Get average load of a host using a SESSION."
+ (receive (result exit-status)
+ (rexec session "cat /proc/loadavg")
+ (unless (zero? exit-status)
+ (throw 'guile-ssh-error "Could not get average load for a host" session))
+ (string-split (car result) #\space)))
+
;;; shell.scm ends here.