备忘记录,持续扩充...
lsof(list open files)是一个列出当前系统打开文件的工具,功能非常强大。lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行才能够充分发挥其功能。
目录
参数说明
1、显示指定用户的进程(用户找进程)
2、杀死指定用户的所有进程
3、显示使用指定端口号的进程(端口找进程、端口占用情况)
4、端口找进程,仅返回pid列表
5、显示指定进程打开的文件(进程找文件)
6、显示所有的tcp连接
7、显示所有已建立的tcp连接
8、显示指定IP的连接信息
9、显示指定目录下被打开的文件(目录找文件)
输出结果字段说明
参数说明
默认 : 没有选项,lsof列出活跃进程的所有打开文件
-a : 结果进行“与”运算(而不是“或”)
-l : 在输出显示用户ID而不是用户名
-h : 获得帮助
-t : 仅获取进程ID
-U : 获取UNIX套接口地址
-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止
-c:查看指定的命令正在使用的文件和网络连接
-p:查看指定进程ID已打开的内容
1、显示指定用户的进程(用户找进程)
lsof -u root
-u 也可跟用户id,如 -u 1000
2、杀死指定用户的所有进程
kill -9 `lsof -t -u username`
3、显示使用指定端口号的进程(端口找进程、端口占用情况)
如下,显示6379端口的数据,如无占用(监听),则无任何输出:
lsof -i:6379
4、端口找进程,仅返回pid列表
lsof -t -i:6379
5、显示指定进程打开的文件(进程找文件)
-p 跟进程号,-c跟进程(程序)名称,按需使用
lsof -p 18001
或
lsof -c systemd
6、显示所有的tcp连接
lsof -i tcp
也可查看udp,将tcp换为udp即可。
7、显示所有已建立的tcp连接
lsof -i -sTCP:ESTABLISHED
8、显示指定IP的连接信息
lsof -i@192.168.31.31
也可带端口号:
lsof -i@192.168.31.31:8080
9、显示指定目录下被打开的文件(目录找文件)
lsof也可以查看文件系统。
lsof +d dir
递归-D
lsof +D dir
输出结果字段说明
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称