首页»Linux»如何查看Linux上程序或进程用到的库

如何查看Linux上程序或进程用到的库

来源:linux.cn 发布时间:2014-08-15 阅读次数:

  问题:我想知道当我调用一个特定的可执行文件在运行时载入了哪些共享库。是否有方法可以明确Linux上可执行程序或运行进程的共享库依赖关系?

  查看可执行程序的共享库依赖关系

  要找出某个特定可执行依赖的库,可以使用ldd命令。这个命令调用动态链接器去找到程序的库文件依赖关系。

  $ ldd /path/to/program

  注意!并不推荐为任何不可信的第三方可执行程序运行ldd,因为某些版本的ldd可能会直接调用可执行程序来明确其库文件依赖关系,这样可能不安全。

  取而代之的是用一个更安全的方式来显示一个未知应用程序二进制文件的库文件依赖,使用如下命令:

  $ objdump -p /path/to/program | grep NEEDED

  查看运行进程的共享库依赖关系

  如果你想要找出被一个运行中的进程载入的共享库,你可以使用pldd命令,它会显示出在运行时被载入一个进程里的所有共享对象。

  $ sudo pldd <PID>

  注意你需要root权限去执行pldd命令。

  或者,也可以选择一个叫做pmap的命令行工具。它报告一个进程的内存映射,也能显示出运行进程的库文件依赖。

  $ sudo pmap <PID>

  via: check-library-dependency-program-process-linux 译者:KayGuoWhu 译文:linux.cn

QQ群:WEB开发者官方群(515171538),验证消息:10000
微信群:加小编微信 849023636 邀请您加入,验证消息:10000
提示:更多精彩内容关注微信公众号:全栈开发者中心(fsder-com)
网友评论(共1条评论) 正在载入评论......
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共1条评论
登录会员中心
大发国际网址 稻城县| 灵山县| 华池县| 镇江市| 万宁市| 桂平市| 镇原县| 肇州县| 台南县| 河北区| 望奎县| 额敏县| 砚山县| 乐陵市| 定州市| 丰镇市| 措勤县| 子长县| 大洼县| 肥城市| 芒康县| 阜康市| 塘沽区| 富宁县| 汝城县| 宾川县| 晋宁县| 南京市| 随州市| 台湾省| 金塔县| 灵山县| 延长县| 广丰县| 含山县| 通渭县| 泰和县| 怀安县| 芦山县| 榆林市| 清水河县| 阿克陶县| 黑龙江省| 阳江市| 酒泉市| 永吉县| 兴安盟| 大石桥市| 乌苏市| 台湾省| 清涧县| 封丘县| 竹山县| 迁安市| 丹东市| 称多县| 彭州市| 长汀县| 抚顺市| 外汇| 台北县| 乐陵市| 开化县| 京山县| 佛坪县| 琼结县| 吉林省| 鹤庆县| 延庆县| 潜江市| 体育| 门源| 格尔木市| 集安市| 青海省| 洪江市| 西藏| 健康| 绥阳县| 通化市| 二连浩特市| 武平县| 宜丰县| 平山县| 临泽县| 叶城县| 库尔勒市| 霞浦县| 普安县| 富阳市| 美姑县| 平塘县| 吴忠市| 灵璧县| 辛集市| 巢湖市| 富宁县| 鄱阳县| 阳曲县| 枝江市| 和静县| 敖汉旗| 鄂伦春自治旗| 卢氏县| 孟津县| 冕宁县| 城口县| 阿瓦提县| 三明市| 贡山| 新晃| 铜鼓县| 泸定县| 星子县| 岳池县| 三穗县| 穆棱市| 璧山县| 堆龙德庆县| 沿河| 东乡族自治县| 鄱阳县| 永宁县| 嘉峪关市| 塔河县| 澄迈县| 旌德县| 浦东新区| 方城县| 金塔县| 台南市| 梁山县| 岗巴县| 同江市| 徐州市| 额敏县| 铅山县|