lsof 命令

精选 Lsof 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。本速查表提供 lsof 命令的各种使用方法。

#入门指南

#入门介绍

lsof 意为 LiSt Open Files(列出打开的文件),用于查找哪些文件被哪些进程打开

$ lsof
$ sudo lsof -u root

#端口查询 (Port-specific)

$ lsof -i :8080
$ lsof -i :80 -i :22
$ lsof -i TCP:22
$ lsof -i TCP:1-1024
$ lsof -i UDP
$ lsof -i @192.168.1.5

#进程查询 (Process-specific)

$ lsof -c mysql
$ lsof -c java
$ lsof -c ssh
$ lsof -c nginx
$ lsof -c ssh -c httpd

#用户查询 (User-specific)

$ lsof -u www-data
$ lsof -u www-data -u ubuntu
$ lsof -i -u ^root # 排除特定用户

#网络协议查询 (Network-specific)

$ lsof -i 4   # 仅 IPv4
$ lsof -i 6   # 仅 IPv6

#进程 ID 查询 (PID-specific)

$ lsof -p 1753
$ lsof -p ^3  # 排除特定进程 ID

#文件名查询 (Filename-specific)

$ lsof /var/log/messages
$ lsof /etc/passwd

#目录查询 (Directory-specific)

$ lsof +D /var/log # 目录内的文件

#终止进程 (Kill)

$ kill -9 `lsof -t -u apache`
$ kill -9 $(lsof -t -i :8080)