linux查看进程调用lib,查看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 5271

5271: vim /home/linjc/test/test/a.txt

0000000000400000 2420K r-x-- vim.gnome

000000000085d000 4K r---- vim.gnome

000000000085e000 96K rw--- vim.gnome

0000000000876000 60K rw--- [ anon ]

00000000023b7000 4276K rw--- [ anon ]

00007fba38e1f000 44K r-x-- libnss_files-2.19.so

00007fba38e2a000 2044K ----- libnss_files-2.19.so

00007fba39029000 4K r---- libnss_files-2.19.so

00007fba3902a000 4K rw--- libnss_files-2.19.so

00007fba3902b000 44K r-x-- libnss_nis-2.19.so

00007fba39036000 2044K ----- libnss_nis-2.19.so

00007fba39235000 4K r---- libnss_nis-2.19.so

00007fba39236000 4K rw--- libnss_nis-2.19.so

00007fba39237000 92K r-x-- libnsl-2.19.so

00007fba3924e000 2044K ----- libnsl-2.19.so

00007fba3944d000 4K r---- libnsl-2.19.so

00007fba3944e000 4K rw--- libnsl-2.19.so

00007fba3944f000 8K rw--- [ anon ]

00007fba39451000 36K r-x-- libnss_compat-2.19.so

00007fba3945a000 2044K ----- libnss_compat-2.19.so

00007fba39659000 4K r---- libnss_compat-2.19.so

00007fba3965a000 4K rw--- libnss_compat-2.19.so

00007fba3965b000 4K ----- [ anon ]

00007fba3965c000 8192K rw--- [ anon ]

00007fba39e5c000 5748K r---- locale-archive

......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值