This API mainly provides information about the computer a Lua state is running on, such as its address and uptime. It also contains functions for user management. This could belong to the os
table, but in order to keep that “clean” it's in its own API.
computer.tmpAddress(): string
computer.freeMemory(): number
computer.totalMemory(): number
computer.energy(): number
computer.maxEnergy(): number
computer.uptime(): number
computer.shutdown([reboot: boolean])
reboot
is true, i.e. shuts down, then starts it again automatically. This function never returns.computer.getBootAddress():string
computer.setBootAddress([address:string])
computer.runlevel(): string|number
Returns the current runlevel the computer is in. Current Runlevels in OpenOS are:
S
: Single-User mode, no components or filesystems initialized yet1
: Single-User mode, filesystems and components initialized - OpenOS finished bootingcomputer.users(): string, ...
table.pack
on it, first.
Please see the user rights documentation.computer.addUser(name: string): boolean or nil, string
true
if the user was successfully added. Returns nil
and an error message otherwise.useradd USER
is a command line option to invoke this method.computer.removeUser(name: string): boolean
true
if the user was removed, false
if they weren't registered in the first place.userdel USER
is a command line option to invoke this method.computer.pushSignal(name: string[, ...])
computer.pullSignal([timeout: number]): name, ...
nil
. If no timeout is specified waits forever.pushSignal
, for example. These vary based on the even type.
event.pull
to wait for events, as opposed to calling this directly. Using event.pull
will ensure that any other signals arriving in the meantime will be distributed as event listeners which is required by some libraries to work correctly (e.g. the component API). It also provides more advanced filtering.This example will reboot the computer if it has been running for at least 300 seconds(5 minutes)
local computer = require("computer") if computer.uptime() >= 300 then computer.shutdown(true) end
`