千家信息网

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

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关如何查看Linux上程序或进程用到的依赖库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。有时候我们会遇到这样一
千家信息网最后更新 2025年12月02日如何查看Linux上程序或进程用到的依赖库

本篇文章给大家分享的是有关如何查看Linux上程序或进程用到的依赖库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

有时候我们会遇到这样一个场景: 一台Linux电脑要执行某个还没有安装好的程序,如果有这个程序的安装包我们可以直接安装,或者联网安装,但如果没有这个程序的安装包电脑又不能联网,我们可以从另一台已经装了该程序的电脑(确保一样的平台和系统)把这个程序以及依赖库文件拷过去,因此,你需要知道该程序用到的依赖库。 下面介绍怎么查看Linux上程序或进程用到的依赖库。

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

$ ldd /path/to/program

$ ldd /bin/ls        linux-vdso.so.1 =>  (0x00007fff73b06000)        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f0ba2672000)        libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f0ba246a000)        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ba20a3000)        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f0ba1e65000)        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ba1c61000)        /lib64/ld-linux-x86-64.so.2 (0x00007f0ba28b9000)        libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f0ba1a5b000)

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

取而代之的是用一个更安全的方式来显示一个未知应用程序二进制文件的库文件依赖,使用如下命令: $objdump -p /path/to/program | grep NEEDED

$ objdump -p /bin/ls | grep NEEDED  NEEDED               libselinux.so.1  NEEDED               libacl.so.1  NEEDED               libc.so.6

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

如果你想要找出被一个运行中的进程载入的共享库,你可以使用pmap命令,它报告一个进程的内存映射,也能显示出运行进程的库文件依赖: $ sudo pmap

$ pmap 52715271:   vim /home/linjc/test/test/a.txt0000000000400000   2420K r-x-- vim.gnome000000000085d000      4K r---- vim.gnome000000000085e000     96K rw--- vim.gnome0000000000876000     60K rw---   [ anon ]00000000023b7000   4276K rw---   [ anon ]00007fba38e1f000     44K r-x-- libnss_files-2.19.so00007fba38e2a000   2044K ----- libnss_files-2.19.so00007fba39029000      4K r---- libnss_files-2.19.so00007fba3902a000      4K rw--- libnss_files-2.19.so00007fba3902b000     44K r-x-- libnss_nis-2.19.so00007fba39036000   2044K ----- libnss_nis-2.19.so00007fba39235000      4K r---- libnss_nis-2.19.so00007fba39236000      4K rw--- libnss_nis-2.19.so00007fba39237000     92K r-x-- libnsl-2.19.so00007fba3924e000   2044K ----- libnsl-2.19.so00007fba3944d000      4K r---- libnsl-2.19.so00007fba3944e000      4K rw--- libnsl-2.19.so00007fba3944f000      8K rw---   [ anon ]00007fba39451000     36K r-x-- libnss_compat-2.19.so00007fba3945a000   2044K ----- libnss_compat-2.19.so00007fba39659000      4K r---- libnss_compat-2.19.so00007fba3965a000      4K rw--- libnss_compat-2.19.so00007fba3965b000      4K -----   [ anon ]00007fba3965c000   8192K rw---   [ anon ]00007fba39e5c000   5748K r---- locale-archive......

以上就是如何查看Linux上程序或进程用到的依赖库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

程序 进程 库文件 电脑 运行 安全 命令 更多 知识 篇文章 实用 取而代之 二进制 内存 场景 就是 工作会 平台 应用程序 报告 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南郴州计算机软件开发薪资 福建光源软件开发 武汉大学网络安全李炳辉 文件服务器怎么生成url 无线城域网络技术特点 c 怎么清空从表数据库表 学者助力网络安全宣传 电魂网络安全儿童画 雪亮工程2019网络安全 网络安全性能训练方法 零基础学数据库应该从哪入手 学习网络技术怎么做 移动软件开发工程师是干啥的 金城江网络安全培训 怎么把数据库弄成脚本文件 如何生成数据库模拟数据 电脑修图软件开发 无线通讯网络技术特点 墨香数据库 工信部嵌入式软件开发工程师 微信小程序平台搭建服务器 佛山教育软件开发常见问题 两会网络安全由哪家公司承担 梁平区工商软件开发流程要求 数字连接网络安全伙伴关系 移动应用开发和企业应用软件开发 高级软件开发工程师求职信 lucene文件怎么放到服务器 企业网络安全管理案例 常州通用软件开发流程
0