每日一个linux命令(5):lsof命令

来源:互联网 发布:淘宝上买书可靠吗 编辑:程序博客网 时间:2024/05/21 11:03

引言:Linux系统监控和诊断工具

常用用法:

1、监控进程

   指定进程号,可以查看该进程打开的文件:lsof -p 2064 

 查看指定应用程序打开的文件: lsof -c firefox

2、监控网络

查看指定端口有哪些进程在使用lsof -i:端口号

查看指定ip有哪些进程在使用 lsof -i@192.168.1.91 

3、监控用户

查看指定用戶打开的文件lsof -u 用户名

4、监控打开文件、设备

 查看文件、设备被哪些进程占用:lsof /dev/tty1 

5、监控文件系统

定目录、挂载点,可以看到有哪些进程打开了其下的文件: lsof /data/

6、找回/恢复删除的文件

注意:lsof命令需要访问核心内存和各种文件,所以需要root用户执行

常见参数:

-a:列出打开文件存在的进程; 

-c<进程名>:列出指定进程所打开的文件; 

-g:列出GID号进程详情; 

-d<文件号>:列出占用该文件号的进程; 

+d<目录>:列出目录下被打开的文件; 

+D<目录>:递归列出目录下被打开的文件; 

-n<目录>:列出使用NFS的文件; 

-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip ) 

-p<进程号>:列出指定进程号所打开的文件; 

-u:列出UID号进程详情; 

-h:显示帮助信息; 

-v:显示版本信息。


lsof输出各列信息的意义如下:

COMMAND:进程的名称 

PID:进程标识符 

PPID:父进程标识符(需要指定-R参数) 

USER:进程所有者 

PGID:进程所属组 

FD:文件描述符,应用程序通过文件描述符识别该文件。




原创粉丝点击