Hello!
2016-03-02 1:54 GMT-08:00 Guanglin Lv:
> 应该是我在reload之前,执行字节码编译脚本时,把lfs.so这个动态库也替换了(实际是一个文件只是做了文件替换),导致unload的时候出现问题?
>
是的,不能直接替换已加载到内存的可执行文件(包括 .so),否则会导致已运行进程的 core dump. 正确的升级做法是使用 mv 和 cp 操作序列:
mv lfs.so lfs.so.old
cp /path/to/new/lfs.so ./
该升级文件的序列是安全的,因为老文件没有被覆盖。把 mv 命令替换为 rm 命令也是可以的。但绝不能直接覆盖老文件。
Regards,
-agentzh