感謝grapeot的啟發,用PowerShell畫出進程CPU佔用率的餅圖,我也做一個Linux下的版本。 我不熟悉Gnuplot,不知道能不能畫出餅圖。我這裡選用比較簡單且容易上手的Google API。先看一下吧: 首先是Google Chart API的靜態餅圖:
再看看Google前不久剛發布的Visualization API中的餅圖(點擊這裡查看實際效果,下面只是,我不知道怎樣在文章中嵌入js代碼……):
下面上Bash指令碼的代碼(這個編輯器居然不支援Bash代碼高亮……我就用PS高亮代替吧,不過怪怪的……):
1 #! /bin/bash
2
3 function gen_chart() {
4 chl="chl=$1"; chd="chd=t:$2"; shift ; shift
5 while [ $# -gt 0 ]; do chl="${chl}|$1"; chd="${chd},$2"; shift; shift; done
6
7 #URL="http://chart.apis.google.com/chart?chs=500x200&cht=p3&chtt=Top+10+Processes+Running&$chl&$chd"
8 URL="http://home.ustc.edu.cn/~stephen1/pschart.html?chtt=Top+10+Processes+Running&$chl&$chd"
9 chrome "$URL" 2>/dev/null
10 }
11
12 gen_chart `ps -eo "%c%C" --sort=-pcpu | head -n 11 | tail -n 10`
13
原理很簡單,首先調用ps命令排序列印出當前各進程的CPU佔用率,然後取出前10項,剩下的事情就交給google API吧:-)
--------------------------- 完事分割線 ---------------------------
感謝grapeot的分享。非常感歎PowerShell的強大。我之前以為PS僅僅是CMD的一個升級版本,只是增加一些小工具,現在發現我的直覺又一次錯了。從grapeot的介紹看,我認為PS的精髓在於物件導向的思想,命令之間傳遞的不是文本,而是對象。如果PS能搞出個支援傳遞對象的管道,也許就更強大了!
微軟不僅努力降低終端使用者使用電腦的門檻,增強使用者體驗,同時也一直在努力降低開發人員的門檻,這也使得它在市場上有大量的Team Dev。Linux開發的門檻太高,不過,帶來的好處是,代碼品質普遍較高,程式執行效率高,但是使用者太可憐了……
-------------------------- 又是分割線 ----------------------------
誰能告訴我怎樣在這個部落格的文章中直接插入JavaScript代碼並能運行?另外,如果想在編輯器中增加一個Bash的代碼塊,該向誰反應? 多謝各位捧場~
轉載請註明出處:http://www.cnblogs.com/stephenjy/archive/2010/02/22/1671064.html