在Linux下覆盖so会导致coredump。可以将旧的so文件rm或者mv,再拷贝新的so文件。此时运行的进程依然使用的是旧的so文件,需要重启or以加载新的so文件。
相关问题可以搜索"Linux下动态链接库so文件覆盖导致coredump"
------------------------------------------------------------------
发件人:<do...@gmail.com>
日 期:2017年08月30日 17:23:52
收件人:openresty<openresty@googlegroups.com>
主 题:[openresty] OR在运行时不允许更换C模块吗?
Hi 各位大牛:
我在OR服务的过程中更换了一下/usr/local/openresty/lualib下的cjson.so文件,导致OR coredump了
复现流程
openresty 安装在 ~/openresty/exec下
location = /test {
content_by_lua_block {
local cjson = require "cjson"
local a = cjson.encode({what = "fuck"})
print(a)
}
}
1. k@ubuntu:curl -v "http://localhost/test"
2. k@ubuntu:~/openresty $ cp exec/lualib/cjson.so /tmp/cjson.so
3. k@ubuntu:~/openresty $ cp /tmp/cjson.so exec/lualib/cjson.so
4. k@ubuntu:curl -v "http://localhost/test"
这个情况是lua本身就不支持更换c module吗?
谢谢!
--
--