ldd命令可以看到程序依赖库,但是有的动态库是使用dlopen接口隐式加载的方式加载起来的,这个时候使用ldd命令是看不见的。

不过有另一个命令lsof,lsof命令可以看见运行中的进程加载了哪些动态库,lsof是list open file的简写,所以lsof还可以看见进程打开文件描述符。

这个命令在排查进程加载so不成功的时候很有用。

在shell终端下输入lsof -h查看选项:

lsof 4.89latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQlatest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_manusage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]][-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s][+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Defaults in parentheses; comma-separated set (s) items; dash-separated ranges.-?|-h list help          -a AND selections (OR)     -b avoid kernel blocks-c c  cmd c ^c /c/[bix]  +c w  COMMAND width (9)    +d s  dir s files-d s  select by FD set   +D D  dir D tree *SLOW?*   +|-e s  exempt s *RISKY*-i select IPv[46] files  -K list tasKs (threads)    -l list UID numbers-n no host names         -N select NFS files        -o list file offset-O no overhead *RISKY*   -P no port names           -R list paRent PID-s list file size        -t terse listing           -T disable TCP/TPI info-U select Unix socket    -v list version info       -V verbose search+|-w  Warnings (+)       -X skip TCP&UDP* files     -Z Z  context [Z]-- end option scan     -E display endpoint info              +E display endpoint info and files+f|-f  +filesystem or -file names     +|-f[gG] flaGs -F [f] select fields; -F? for help  +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0)+m [m] use|create mount supplement+|-M   portMap registration (-)       -o o   o 0t offset digits (8)-p s   exclude(^)|select PIDs         -S [t] t second stat timeout (15)-T qs TCP/TPI Q,St (s) info-g [s] exclude(^)|select and print process group IDs-i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]+|-r [t[m<fmt>]] repeat every t seconds (15);  + until no files, - forever.An optional suffix to t is m<fmt>; m must separate t from <fmt> and<fmt> is an strftime(3) format for the marker line.-s p:s  exclude(^)|select protocol (p = TCP|UDP) states by name(s).-u s   exclude(^)|select login|UID set s-x [fl] cross over +d|+D File systems or symbolic Linksnames  select named files or files on named file systems
Anyone can list all files; /dev warnings disabled; kernel ID check disabled.

linux命令之查看进程运行动态库依赖及打开文件-lsof相关推荐

  1. linux命令之添加系统搜索动态库目录-ldconfig

    ldconifg,/etc/ld.so.conf,/etc/ld.so.cache三个的关系 一般情况下我们可以将程序需要搜索动态库的路径配置到ld_library_path这个环境变量中,不过很多系 ...

  2. linux命令top查看进程,linux 查看进程的命令(top)

    标签:top 操作系统支持多任务并不是计算机同时做很多事情,而是快速的轮换着执行这些任务.linux安排不同的程序等待使用CPU. 进程的工作方式: 当系统启动的时候,内核先把自己的程序初始化为进程, ...

  3. linux命令dmesg查看进程被杀死原因

    有一次一个python进程挂了,使用了下这个命令. 可以看到原因:虚拟机总共内存8082608KB,结果python项目就消耗掉了7341764KB,内存泄露,导致python进程被系统杀死 顺带介绍 ...

  4. linux查看进程运行命令行参数,linux查看进程运行命令

    Linux系统下想要查看运行中的进程,那我们该使用那个命令呢?下面由学习啦小编为大家整理了linux查看进程运行的命令的相关知识,希望对大家有帮助. 1.linux查看进程命令详解 ps命令查找与进程 ...

  5. linux ps内存占用率,linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定...

    背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况. 一. linux ps命令,查看某进程cpu和内存占用率情况 [root@test vhost]# ps aux US ...

  6. linux保存动态进程信息,Linux 命令 - top: 动态显示进程信息

    命令格式 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 命令参数 -a 根据内存的使用排序. -b 以批处理模式操作. ...

  7. linux使用ps下查看进程运行的时间 【转】

    文章来源:linux下查看进程运行的时间 可通过ps 来查看,通过参数 -o 来查看 例: ps -eo pid,tty,user,comm,lstart,etime | grep init 参数说明 ...

  8. linux 生成dll文件,Linux和Windows平台 动态库.so和.dll文件的生成

    Linux动态库的生成 1. 纯cpp文件打包动态库 将所有cpp文件和所需要的头文件放在同一文件夹,然后执行下面命令 gcc -shared - fpic *.c -o xxx.so: g++ -s ...

  9. Linux和Windows平台 动态库.so和.dll文件的生成

    Linux动态库的生成 1. 纯cpp文件打包动态库 将所有cpp文件和所需要的头文件放在同一文件夹,然后执行下面命令 gcc -shared - fpic *.c -o xxx.so: g++ -s ...

最新文章

  1. 【转载】首次作品展小结
  2. 雷军:我的程序人生路
  3. Java使用继承的语法是,Java使用继承
  4. ortools解决tsp_ortools系列:路由问题1
  5. tarnado源码解析系列一
  6. js遍历多层嵌套对象存在的JSO数据
  7. 小程序影藏溢出的gif_ScreenToGif:一款小巧实用动图gif制作神器
  8. 存储过程里调用另一个存储过程的值
  9. 没有修改出现mysql密码错误_MySql 修改密码后的错误快速解决方法
  10. IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
  11. Yii2 composer更新后报错: Calling unknown method: yii\web\UrlManager::addRules()
  12. php中如何实现多进程
  13. 计算机操作系统(第四版)课后习题答案(完整版)---汤小丹 梁红兵 哲凤屏 汤子瀛 版本
  14. 在Ubuntu 16.04 64bit上安装谷歌地球Google Earth免费版
  15. 这个百度网盘批量转存工具真香
  16. 数据结构与算法分析(十七)--- 怎么用回溯剪枝高效穷举所有可行解?
  17. 2019年小程序发展优势
  18. mysql 绿色版的安装过程和配置
  19. linux 音频文件切割_Linux 对音频万能处理的命令——SOX
  20. 客户端时不时接收到10054错误

热门文章

  1. python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?
  2. android evaluater_android通过WebView的evaluateJavascript()调用JS
  3. python ui自动化配置文件,Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)...
  4. linux 命令改配置文件,linux下 修改配置文件的命令
  5. java private 接口_java接口中 定义 private 私有方法
  6. 第二讲、Linux的系统安装
  7. vs2010无法查看自定义的普通变量(CXX0017:错误:没有找到符号)
  8. 【c++】15.订阅消息后转化为proto消息,再序列化,最后通过tcp发送出去
  9. JAVA NIO学习一:NIO简介、NIOIO的主要区别
  10. JVM实用参数(四)内存调优