LUACTL(8)

NAME
luactl - control kernel Lua states

SYNOPSIS
luactl [-cq]
luactl [-cq] create name [desc]
luactl [-cq] destroy name
luactl [-cq] load name path
luactl [-cq] require name module

DESCRIPTION
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:

-c  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.

-q  Operate quietly i.e. nothing is printed to stdout.

COMMANDS

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.

FILES
/dev/lua
    Lua device file.

SEE ALSO
lua(4), module(7), modload(8), modunload(8), lua(9)

HISTORY
The luactl command first appeared in NetBSD 7.0.

AUTHORS
The luactl program was written by Marc Balmer <marc@msys.ch>.