【问题标题】:replacing shared library on AIX替换 AIX 上的共享库
【发布时间】:2015-08-20 02:25:17
【问题描述】:

我在 AIX 上有一个共享库 (.so) 我知道所有进程都在使用它。 我已经停止了所有相关的进程。 我需要使用 cp -p 命令替换上面的 .so 文件(使用新库)。 但是上面的命令给出了错误: "无法删除正在运行的程序"

虽然我正在尝试“cp -p -f”,但效果很好, 但我只需要使用“cp -p” 关于这个问题的任何想法都会有所帮助。 谢谢。

【问题讨论】:

    标签: aix


    【解决方案1】:

    使用 slibclean 命令,然后 "cp -p" 工作正常。

    【讨论】:

      【解决方案2】:

      安全的方法是使用临时文件:

      cp -p /from/libfoo.so /target/libfoo.so.tmp
      mv -f /target/libfoo.so.tmp /target/libfoo.so
      

      您无需停止任何程序即可执行此操作;并且不会有任何时刻目标目录下没有libfoo.so。

      有时调用 slibclean 也没有什么坏处,以保持内存清洁。使用'genkld | wc -l' 在它之前和之后检查它是否做了任何事情。

      【讨论】:

        猜你喜欢
        • 2013-04-02
        • 2011-11-20
        • 2010-12-07
        • 2020-03-09
        • 1970-01-01
        • 2014-11-11
        • 2012-05-12
        • 2011-07-11
        • 1970-01-01
        相关资源
        最近更新 更多