Created by CecilWesterhof.
I want to display my CPU usage. For this I need information (the first line) from /proc/stat. Here a proc that fetches this line, puts it in a easy to use dict, which also has a total added and returns it.
proc getStatCPU {} { set infoLst [lrange [getLineAsList /proc/stat] 1 7] lassign ${infoLst} user nice system idle iowait irq softirq dict set statCPU user ${user} dict set statCPU nice ${nice} dict set statCPU system ${system} dict set statCPU idle ${idle} dict set statCPU iowait ${iowait} dict set statCPU irq ${irq} dict set statCPU softirq ${softirq} dict set statCPU total [::tcl::mathop::+ {*}${infoLst}] return ${statCPU} }
I will also post the script.
As always: comments, tips and questions are appreciated.
APN A comment about style - the braces around variable names are not required (and generally frowned upon by long-time Tclers) unless the name has "special characters" such as delimiters. Use $infoLst, $nice etc. instead.
CecilWesterhof When it is frowned upon I maybe should change it. Some bash people also frowned on it, but in bash I always use it, because it is to easy to get into a situation where it is important.
KPV Check out CPU Monitor which visually displays the CPU usage for every core.