X-Git-Url: http://git.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=libs%2Fsys%2Fluasrc%2Fsys.lua;h=18622da77c24b359516e60b65da27597c92c3d1f;hp=825092fff8734ea4f01cdebeaaf418112d78cef8;hb=03ed541b7613206010ddfbfc5a8fb6af5cbbf106;hpb=13224b696d0ea71fb2f8e2b4b0e8eca6caa9ae90 diff --git a/libs/sys/luasrc/sys.lua b/libs/sys/luasrc/sys.lua index 825092fff8..18622da77c 100644 --- a/libs/sys/luasrc/sys.lua +++ b/libs/sys/luasrc/sys.lua @@ -695,38 +695,29 @@ end function process.list() local data = {} local k - local ps = luci.util.execi("top -bn1") + local ps = luci.util.execi("/bin/busybox top -bn1") if not ps then return end - while true do - local line = ps() - if not line then - return - end - - k = luci.util.split(luci.util.trim(line), "%s+", nil, true) - if k[6] == "%VSZ" then - k[6] = "%MEM" - end - if k[1] == "PID" then - break - end - end - for line in ps do - local row = {} - - line = luci.util.trim(line) - for i, value in ipairs(luci.util.split(line, "%s+", #k-1, true)) do - row[k[i]] = value - end + local pid, ppid, user, stat, vsz, mem, cpu, cmd = line:match( + "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][W ][