diff options
| author | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2016-12-31 03:20:50 +0300 |
|---|---|---|
| committer | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2016-12-31 03:20:50 +0300 |
| commit | 1eab1833d27e4a9c5715e9927d4c485c39c03d61 (patch) | |
| tree | 9569a5261de640a0c2b86f15da93961b8a96c4ea | |
| parent | shell.scm (rexec): Check only for EOF object (diff) | |
| download | guile-ssh-1eab1833d27e4a9c5715e9927d4c485c39c03d61.tar.gz | |
shell.scm (loadavg): New procedure
* modules/ssh/shell.scm (loadavg): New procedure.
| -rw-r--r-- | modules/ssh/shell.scm | 10 |
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. |
