!7 p-typewriter { long PREV_TOTAL = 0, PREV_IDLE = 0; repeat with sleep 1 { S line = first(toLines(loadTextFile("/proc/stat"))); print(line); S[] CPU = line.split("\\s+"); long IDLE = Long.parseLong(CPU[4]); //Get the idle CPU time. long TOTAL = Long.parseLong(CPU[1]) + Long.parseLong(CPU[2]) + Long.parseLong(CPU[3]) + Long.parseLong(CPU[4]); long DIFF_IDLE = IDLE - PREV_IDLE; long DIFF_TOTAL = TOTAL - PREV_TOTAL; long DIFF_USAGE = DIFF_TOTAL == 0 ? 0 : (1000 * (DIFF_TOTAL - DIFF_IDLE) / DIFF_TOTAL + 5) / 10; print("CPU: " + DIFF_USAGE + "%"); PREV_TOTAL = TOTAL; PREV_IDLE = IDLE; //return (float) DIFF_USAGE; } }