免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1742 | 回复: 3
打印 上一主题 下一主题

问关于UNIX动态库的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-05 09:09 |只看该作者 |倒序浏览
基本情况:我在HP-UX11.11下开发tuxedo后台程序,使用Proc/C,许多公共模块都是以动态库文件(.sl)的形式存在,编译的服务进程时候连接这些库(用-l选项),也有一部分动态库不是在编译时连接的,而是在程序运行过程中根据需要,用dlopen打开然后执行里面的函数,打开之后不关闭(不dlclose)。
   我的问题:1。我如何查看一个正在运行的程序,它连接了哪些库,包括dlopen打开的库。
             2。我如何查看一个指定的库文件,当前正被几个进程在使用。
             3。按我的理解,一个正在被使用的库文件,不管它是编译时连接的还是dlopen打开的,
                都删除不了的,结果我发现有些明明已经使用dlopen打开的库,仍然可以删除(rm)。
    以上是我的几个问题,有经验的朋友希望能够回答一下。

论坛徽章:
0
2 [报告]
发表于 2005-11-05 09:12 |只看该作者
大家有关于UNIX动态库使用的经验,拿出来分享一下啊,现在活干得不好,工作压力好大呀!

论坛徽章:
0
3 [报告]
发表于 2005-11-05 11:18 |只看该作者

回复 1楼 bjf 的帖子

HP不是很熟,Solaris可以,你看看HP有没有类似命令:

问题:1。我如何查看一个正在运行的程序,它连接了哪些库,包括dlopen打开的库。

Solairs 下有pmap

             3。按我的理解,一个正在被使用的库文件,不管它是编译时连接的还是dlopen打开的,
                都删除不了的,结果我发现有些明明已经使用dlopen打开的库,仍然可以删除(rm)。

应该可以删除,libc整个系统在用,那还不是有人不小心给删了,弄得系统启动起来没办法运行。

论坛徽章:
0
4 [报告]
发表于 2005-11-05 11:32 |只看该作者
谢谢回答,我查了没有类似pmap这样的命令:(
第三个问题,有些可以删除,有些不能删除,不知道是什么原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP