lsof命令介绍及用法
2016-04-14 00:00
435 查看
Linux下一切皆文件,lsof(lists openfiles)是一个列出当前系统打开文件的工具.文件可以是:
lsof常见参数如下:
lsof输出格式:
lsof输出各列信息说明:
lsof部分示例:
(1)显示开启某个文件的进程
(2)显示某端口正在运行的程序
(3)显示某个进程名正在打开的文件
(4)显示某个进程号的进程打开了哪些文件
(5)显示某个用户正在打开的文件
(6)打印进程号
(7)列出所有tcp连接信息
普通文件 目录 网络文件系统的文件 字符或设备文件 (函数)共享库 管道,命名管道 符号链接 网络文件(例如:NFS file、网络socket,unix域名socket) 还有其它类型的文件,等等
lsof常见参数如下:
-a 列出打开文件存在的进程 -c<进程名> 列出指定进程所打开的文件 -g 列出GID号进程详情 -d<文件号> 列出占用该文件号的进程 +d<目录> 列出目录下被打开的文件 +D<目录> 递归列出目录下被打开的文件 -n<目录> 列出使用NFS的文件 -i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip ) -p<进程号> 列出指定进程号所打开的文件 -u 列出UID号进程详情
lsof输出格式:
mckee@mckee-pc ~/program/go/src/sharedlogic (release) $ sudo lsof | more COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 8,3 4096 2 / init 1 root rtd DIR 8,3 4096 2 / init 1 root txt REG 8,3 265848 5767246 /sbin/init init 1 root mem REG 8,3 47712 4985141 /lib/x86_64-linux-gnu/libnss_files-2.19.so init 1 root mem REG 8,3 47760 4985151 /lib/x86_64-linux-gnu/libnss_nis-2.19.so init 1 root mem REG 8,3 97296 4985135 /lib/x86_64-linux-gnu/libnsl-2.19.so init 1 root mem REG 8,3 39824 4985137 /lib/x86_64-linux-gnu/libnss_compat-2.19.so init 1 root mem REG 8,3 14664 4985082 /lib/x86_64-linux-gnu/libdl-2.19.so
lsof输出各列信息说明:
COMMAND:进程的名称 PID:进程标识符 PPID:父进程标识符(需要指定-R参数) USER:进程所有者 PGID:进程所属组 FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等,常见的文件类型:DIR:表示目录/CHR:表示字符类型/BLK:块设备类型/UNIX: UNIX 域套接字/FIFO:先进先出 (FIFO) 队列/IPv4:网际协议 (IP) 套接字 DEVICE:指定磁盘的名称 SIZE:文件的大小 NODE:索引节点(文件在磁盘上的标识) NAME:打开文件的确切名称
lsof部分示例:
(1)显示开启某个文件的进程
[root@mckee ~]# lsof /var/go/logs/access.log COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME blog 4801 root 4u REG 3,1 41 132106 /var/go/logs/access.log
(2)显示某端口正在运行的程序
[root@mckee ~]# lsof -i :3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 1605 mysql 11u IPv4 5143 0t0 TCP *:mysql (LISTEN)
(3)显示某个进程名正在打开的文件
[root@mckee ~]# lsof -c mysqld COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld_sa 1523 root cwd DIR 3,1 4096 2 / mysqld_sa 1523 root rtd DIR 3,1 4096 2 / mysqld_sa 1523 root txt REG 3,1 801816 4292633 /bin/bash mysqld_sa 1523 root mem REG 3,1 144776 3375150 /lib64/ld-2.5.so ......
(4)显示某个进程号的进程打开了哪些文件
[root@mckee ~]# lsof -p 4801 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME blog 4801 root cwd DIR 3,1 4096 131242 /var/go blog 4801 root rtd DIR 3,1 4096 2 / blog 4801 root txt REG 3,1 11082256 132135 /var/go/blog ......
(5)显示某个用户正在打开的文件
[root@mckee ~]# lsof -u mysql COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 1605 mysql cwd DIR 3,1 4096 196613 /var/lib/mysql mysqld 1605 mysql rtd DIR 3,1 4096 2 / mysqld 1605 mysql txt REG 3,1 7744280 2961215 /usr/libexec/mysqld ......
(6)打印进程号
[root@mckee ~]# lsof -tc sshd 1453 19954
(7)列出所有tcp连接信息
[root@mckee ~]# lsof -i tcp
相关文章推荐
- Bootstrap 中下拉菜单修改成鼠标悬停直接显示 原创
- JS跨域解决方案之使用CORS实现跨域
- js贪吃蛇游戏实现思路和源码
- 基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
- javaScript数组迭代方法详解
- JQuery 在表单提交之前修改 提交的值 原创
- 基于RequireJS和JQuery的模块化编程日常问题解析
- Kindeditor在线文本编辑器如何过滤HTML
- 谈一谈JS消息机制和事件机制的理解
- 即将发布的jQuery 3 有哪些新特性
- node.js实现端口转发
- Node.js实现数据推送
- Javascript实现鼠标框选操作 不是点击选取
- js仿3366小游戏选字游戏
- 基于jQuery实现音乐播放试听列表
- jQuery循环遍历子节点并获取值的方法
- 原生js实现autocomplete插件
- jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
- 一起学写js Calender日历控件
- 详解Jquery实现ready和bind事件