aboutsummaryrefslogtreecommitdiff
path: root/segments/cpu.sh
diff options
context:
space:
mode:
authorCody Hiar <chiar@hybridforge.com>2015-08-12 12:06:23 -0600
committerCody Hiar <chiar@hybridforge.com>2015-08-12 12:06:23 -0600
commit07fc2644a237187dd4c5680e88f4adadbf533603 (patch)
treebb6335e180df48c5a6f0b893312857d36ad470f7 /segments/cpu.sh
Initial commit of the working files
Diffstat (limited to 'segments/cpu.sh')
-rwxr-xr-xsegments/cpu.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/segments/cpu.sh b/segments/cpu.sh
new file mode 100755
index 0000000..637bcda
--- /dev/null
+++ b/segments/cpu.sh
@@ -0,0 +1,22 @@
+# Prints the CPU usage: user% sys% idle.
+
+run_segment() {
+ if shell_is_linux; then
+ cpu_line=$(top -b -n 1 | grep "Cpu(s)" )
+ cpu_user=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(us(er)?))")
+ cpu_system=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(sys?))")
+ cpu_idle=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(id(le)?))")
+ elif shell_is_osx; then
+ cpus_line=$(top -e -l 1 | grep "CPU usage:" | sed 's/CPU usage: //')
+ cpu_user=$(echo "$cpus_line" | awk '{print $1}' | sed 's/%//' )
+ cpu_system=$(echo "$cpus_line" | awk '{print $3}'| sed 's/%//' )
+ cpu_idle=$(echo "$cpus_line" | awk '{print $5}' | sed 's/%//' )
+ fi
+
+ if [ -n "$cpu_user" ] && [ -n "$cpu_system" ] && [ -n "$cpu_idle" ]; then
+ echo "${cpu_user}, ${cpu_system}, ${cpu_idle}" | awk -F', ' '{printf("%5.1f,%5.1f,%5.1f",$1,$2,$3)}'
+ return 0
+ else
+ return 1
+ fi
+}