您的位置:首页 > 运维架构 > Linux

什么是lsof

2017-11-28 18:33 134 查看
lsof代表列表打开文件。

如果把lsof命令看作“ls
+ of”,其中ls代表列表,并且代表打开的文件,则很容易记住lsof命令。
Linux中的lsof命令在其输出中显示由进程打开的文件的信息
如果要快速查看特定进程(或所有进程)已经打开的文件的名称,则可以使用lsof命令。打开的文件可以是常规文件,目录,库,块特殊文件,字符特殊文件,正在执行的文本引用,甚至是流或网络文件。

 

下面是lsof命令的一些简单应用


Lsof  显现所有打开文件的信息

直接输入lsof




显示用户特定的文件信息

Lsof
4000
-u root  、  lsof -u wang 
 


根据其Internet地址列出文件。这可以使用-I
命令行选项完成
筛选ipv4
、ipv6 、 tcp 、udp等

Lsof  -i   4(或者6)

lsof  -i   tcp(或者udp)




 
 

根据进程标识(PID)号显示打开的文件。这可以通过使用-p命令行选项来完成。





你也可以在输出前加上^符号来排除特定的PID 。要排除特定的PID,可以运行以下命令: 
例如:lsof -p ^ 1
ID为1的进程被排除在列表之外。
 
 


 

列出已打开特定文件的进程的ID。这可以通过使用-t命令行选项来完成

 
已经打开文件cli.c





  


限制lsof到一个特定的目录

可以搜索所有打开的目录实例(包括它包含的所有文件和目录)。可以使用+D命令行选项访问此功能。



  

列出所有Internet和x.25(HP-UX)网络文件

 

Lsof -i


 


根据端口范围列出打开的文件

显示端口1-1024的打开文件,请使用以下命令:
$ lsof-i:1-1024

 


lsof列表进程的父PID

强制lsof在输出中列出父进程标识(PPID)编号。有问题的选项是-R

$lsof -R
要获取特定PID的PPID信息,可以运行以下命令:

$lsof -p [PID] -R

例如:

$lsof -p 3 -R



  

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息