替换 AIX 上的共享库
我在 AIX 上有一个共享库 (.so) 我知道所有进程都在使用它。 我已经停止了所有相关的进程。 我需要使用 cp -p 命令替换上面的 .so 文件(使用新库)。 但上面的命令报错: “无法删除正在运行的程序”
当我尝试“cp -p -f”时,它工作正常, 但我只需要使用“cp -p” 关于这个问题的任何想法都会有所帮助。 谢谢。
I have a shared library (.so) on AIX
I know what all processes are using it.
I have stopped all the concerned processes.
I need to replace the above .so file (with the new library) using cp -p command.
But the above command is giving error:
"Cannot remove the running program"
While i am trying "cp -p -f" it is wroking fine,
But I need to use only "cp -p"
Any idea on this matter will be helpful.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 slibclean 命令,然后“cp -p”工作正常。
used slibclean command,then "cp -p" worked fine.
安全的方法是使用临时文件:
您不必停止任何程序来执行此操作;并且目标目录中不会有任何时刻没有 libfoo.so 。
有时调用 slibclean 来保持内存干净也没什么坏处。使用 'genkld | wc -l' 在它之前和之后检查它是否做了任何事情。
The safe way is using temporal file:
You don't have to stop any program to perform this; and there won't be any moment when there is no libfoo.so in target directory.
Also it doesn't hurt to call slibclean sometimes, to keep the memory clean. Use 'genkld | wc -l' before and after it to check if it has done anything.