运行 Linux Lua 程序中的命令

run Linux commands in Lua program

我想使用 lua 重置 openwrt 的一项 Linux 服务。当我直接在 Linux 中使用下面的命令并且它有效时:

$ service 

它显示以下服务 当我在下面输入命令时,它会显示更多选项:

$ service led

最后,当我在下面输入命令时,它会重置服务。

$ service led restart

但是在 lua 下面的程序中我得到了错误。

>os.execute("service led restart")
sh: service: not found

是否有任何其他库或命令来访问服务?

command -V service 说:

service is a function

为了能够在由 os.execute 创建的子 shell 中调用它,您必须 source 创建函数的脚本。 (不知道这个函数是在哪里定义的)

更简单的方法是调用特定的服务可执行文件:

os.execute"/etc/init.d/led restart"