OC-PsychOS/modules/lib/shutil.lua

56 lines
1.2 KiB
Lua

local shutil = {}
shutil.cd=fs.cd
shutil.rm=fs.rm
shutil.mkdir=fs.mkdir
shutil.cp=fs.cp
shutil.mv=fs.mv
function shutil.ls(p)
for k,v in ipairs(fs.list(p)) do print(v) end
end
function shutil.cat(p)
local f=io.open(p)
print(f:read("*a"))
f:close()
end
function shutil.ps(f)
local f=f or ""
print("PID\tName")
for k,v in pairs(os.tasks()) do
if v:find(f) then
print(tostring(k).."\t"..tostring(v))
end
end
end
function shutil.mem()
print(" \tTotal\tFree\tUsed")
io.write("Mem\t")
io.write(tostring(math.floor(computer.totalMemory()/1024)).."K\t")
io.write(tostring(math.floor(computer.freeMemory()/1024)).."K\t")
print(tostring(math.floor((computer.totalMemory()-computer.freeMemory())/1024)).."K\t")
end
function shutil.genenv()
local et = os.genenv()
for k,v in pairs(shutil) do
if k ~= "genenv" then
et[k] = v
end
end
return et
end
function loadfile(fn)
local f=io.open(fn,"rb")
local S=f:read("*a")
f:close()
return load(S,"=("..fn..")","bt",os.genenv())
end
function run(fn,...)
local r = {pcall(loadfile(fn),...)}
if r[1] == true then
table.remove(r,1)
end
print(table.unpack(r))
end
function srun(fn,...)
spawn(fn,print(pcall(loadfile(fn),...)))
end