OpenResty实战之执行shell命令

  Seves

本文链接:OpenResty实战之执行shell命令

本文主要介绍如何在OpenResty中执行shell命令,主要涉及的命令为:os.execute。

例如执行创建文件命令:mkdir,则在OpenResty中只需执行以下代码:

os.execute('mkdir -p ' .. dir_path)

该代码执行后,日志里面会打印:2014/03/18 22:33:42 [notice] 5645#0: signal 17 (SIGCHLD) received,因为 os.execute() 会通过 fork() 创建新的(shell)子进程,而子进程退出时会发送 SIGCHLD 信号给父进程,这里
nginx 进程就是父进程。它会打印出这一行提示信息。注意该消息的 notice 级别,它既不是错误,也不是警告,是无害的。


更高效的一种做法是使用专门的 Lua 扩展库来进行文件和目录相关的操作,例如下面这个第三方库:

[http://keplerproject.github.io/luafilesystem/](http://keplerproject.github.io/luafilesystem/) 

这比 os.execute() 要高效得多。

转自:openresty里面创建目录用什么

本文链接:https://www.tech-field.org/openresty-with-shell-command.html

fc