LUACTL(8) | System Manager's Manual | 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), intro(9lua)

# HISTORY

The `luactl` command first appeared in NetBSD 7.0.

# AUTHORS

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

April 10, 2017 | NetBSD 11.0