Linux命令 lsof使用
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
lsof +d /usr/local 显示当前目录下被进程打开的文件
lsof +D /usr/local 显示当前目录下被进程打开的文件,包括其他目录下的文件
lsof file 显示开启file的进程
lsof -c abc 显示abc进程打开的文件
lsof -p 123 显示pid为123的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof -u root 显示用户root的进程所打开的文件
lsof -u ^root 显示不是用户root的进程所打开的文件
lsof -u 1000 显示uid为1000的用户的进程所打开的文件
lsof -i 显示所有打开的端口
lsof -i:80 显示所有打开80端口的进程
lsof -i udp@192.168.129.126:5060 显示哪些进程使用udp打开了192.168.129.126的5060端口
lsof -i tcp@192.168.129.126:ftp -r 显示哪些进程使用tcp打开了192.168.129.126的ftp服务,-r不断查看
http://blog.csdn.net/guoguo1980/article/details/2324454
lsof - 根据 fd 或 socket 查找打开的文件或读写地址
通过日志发现某个进程一直阻塞在某处,通过 strace 查看系统调用:
$ strace -p 9441
Process 9441 attached
recvfrom(22,
- 1
- 2
- 3
发现阻塞在读 22 socket 上,由于进程连接的地址非常多,想通过目前的信息找到进程是阻塞在哪类连接的读取上:
$ lsof -p 9441 | grep 22u
python 9441 userxxx 22u IPv4 1546555902 0t0 TCP HOST_NAME:59973->IP:40014 (ESTABLISHED)
最新文章
- mysql在linux下的安装
- centos升级mysql至5.7
- Android Studio解决unspecified on project app resolves to an APK archive which is not supported
- 巧妙使用Jquery 改变元素的 onclick 事件
- Linux学习之路:变量值的删除、替代和替换
- c#获取远程图片的方法
- uva 1378 A Funny Stone Game (博弈-SG)
- net开发过程中Bin目录net开发过程中Bin目录下面几种文件
- Java自己动手写连接池四
- ThinkPhp5.0_文件上传
- vhdl 数组
- 10.Redis分布式集群
- TCP传输
- 生成缓存文件cache file
- linux上ssh免密登录原理及实现
- python爬虫简单代码爬取郭德纲单口相声
- Timber(对Log类封装的一个工具)
- 【.NET开发之美】使用ComponentOne提高.NET DataMap中的加载速度
- WPF Demo16 资源
- 玩转X-CTR100 l STM32F4 l OLED显示-SSD1306无字库