Hello!
2014-03-18 8:23 GMT-07:00 yuyong:
> 我现在创建目录用os.execute('mkdir -p ' .. dir_path), 发现日志里面打印:2014/03/18 22:33:42 [notice] 5645#0: signal 17 (SIGCHLD) received, 为什么每次上面这种方式创建目录, 总是收到signal 17呀?
>
因为 os.execute() 会通过 fork() 创建新的(shell)子进程,而子进程退出时会发送 SIGCHLD 信号给父进程,这里
nginx 进程就是父进程。它会打印出这一行提示信息。注意该消息的 notice 级别,它既不是错误,也不是警告,是无害的。
更高效的一种做法是使用专门的 Lua 扩展库来进行文件和目录相关的操作,例如下面这个第三方库:
http://keplerproject.github.io/luafilesystem/
这比 os.execute() 要高效得多。
Regards,
-agentzh
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 openresty@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html