Manual browser: luactl(8)

LUACTL(8) System Manager's Manual LUACTL(8)


luactlcontrol kernel Lua states


luactl [-cq]

luactl [-cq] create name [desc]

luactl [-cq] destroy name

luactl [-cq] load name path

luactl [-cq] require name module


The luactl program allows the manipulation of Lua states in the kernel. Lua states are created using the “create” command (see below), Lua bindings are provided as modules. To make a Lua binding available to a state, it must be “required”. Once a module has been “required” by a state, it can not be unloaded from memory using the modunload(8) command until the state using it has been destroyed.

Lua code can be loaded from the file system into a state at anytime, please note that code loaded into a state is immediately executed.

When executed without a command, luactl reads information about the Lua states and displays it.

The options are as follows:

Create a Lua state before executing the command. This flag is used for the require and load commands only, it is ignored for all other commands.
Operate quietly i.e. nothing is printed to stdout.


create name [desc]
Create a Lua state with name name and optional description desc.
destroy name
Destroy the Lua state name.
load name path
Load Lua code in file path into the Lua state name. Note that the path name must contain at least one path separation character (‘/’).
require name module
Let the Lua state name use the bindings provided in module module. This is the equivalent of userland Lua code calling the ‘require’ function.


Lua device file.


The luactl command first appeared in NetBSD 7.0.


The luactl program was written by Marc Balmer <>.
October 17, 2013 NetBSD 7.0