什么是lsof

来源:互联网 发布:数控铣床简单图案编程 编辑:程序博客网 时间:2024/06/13 01:03

lsof代表列表打开文件。

如果把lsof命令看作ls + of,其中ls代表列表,并且代表打开的文件,则很容易记住lsof命令。

Linux中的lsof命令在其输出中显示由进程打开的文件的信息

如果要快速查看特定进程(或所有进程)已经打开的文件的名称,则可以使用lsof命令。打开的文件可以是常规文件,目录,库,块特殊文件,字符特殊文件,正在执行的文本引用,甚至是流或网络文件

 

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

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

直接输入lsof




显示用户特定的文件信息

Lsof -u root    lsof -u wang 

 


根据其Internet地址列出文件。这可以使用-I命令行选项完成筛选ipv4ipv6 、 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命令行选项访问此功能。

  


列出所有Internetx.25HP-UX)网络文件

 

Lsof -i

 

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

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

$ lsof-i1-1024

 



lsof列表进程的父PID

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

$lsof -R

要获取特定PIDPPID信息,可以运行以下命令:

$lsof -p [PID] -R

例如:

$lsof -p 3 -R