lsof 命令

lsof 是 *unx (Linux/Unix) 上的查看打开文件的命令. 由于在 Unix 体系中大部分都是文件, 所以它能查看打开的磁盘文件, 网络 socket, named pipe, 其他块设备(device)文件, 字符设备文件.
比如查看是哪个进程占用了某个端口:

sudo lsof -i :8080

比如查看某个进程打开的所有文件, 看看是不是有日志文件:

sudo lsof -p 30569

其他常见的命令例子:

lsof #显示所有打开的, 有时候你要加 sudo 去查看所有
lsof -u apache #显示用户 apache 打开的所有文件
lsof -i #显示打开的 Internet socket 文件
lsof -i 4 # IP v4
lsof -i 6 # IP v6
lsof -p <pid> #特定某个进程打开的文件
lsof -p ^<pid> #排除 非某个进程打开的所有文件
lsof -t /var/log/my.log # 显示打开这个文件的所有进程
lsof +D /var/log  #显示打开这个目录下目录或文件的所有进程
lsof -i :8080 # 显示打开端口 8080 的进程
lsof -i :80-1024 # 显示 80 到 1024 之间端口的所有进程
lsof -i udp #显示打开 udp 

标签: none

添加新评论