Linux lsof命令的用法(附带实例)
Linux 的 lsof 命令来自英文词组 list opened files 的缩写,其功能是查看文件的进程信息。
由于 Linux 系统中的一切都是文件,因此使用 lsof 命令查看进程打开的文件,或是查看文件的进程信息,都能帮助用户很好地了解相关服务的运行状态,是一个不错的系统监视工具。
lsof 命令的语法格式如下:
【实例 1】查看当前系统中全部文件与进程的对应信息:
【实例 2】显示指定目录中被调用的文件信息:
【实例 3】递归显示指定目录中全部被调用的文件信息:
由于 Linux 系统中的一切都是文件,因此使用 lsof 命令查看进程打开的文件,或是查看文件的进程信息,都能帮助用户很好地了解相关服务的运行状态,是一个不错的系统监视工具。
lsof 命令的语法格式如下:
lsof 参数 文件名常用参数见下表:
选项 | 描述 | 选项 | 描述 |
---|---|---|---|
-a | 显示与打开的文件相关的进程 | -o | 显示文件偏移量 |
-c | 显示指定进程所打开的文件 | -p | 显示指定进程号所打开的文件 |
-d | 显示占用该文件的进程 | -R | 显示父进程 ID |
-g | 显示 GID 号进程的详细信息 | -u | 显示 UID 号进程的详细信息 |
-h | 显示帮助信息 | -v | 显示版本信息 |
-i | 显示符合条件的进程 | +d | 显示目录下被打开的文件 |
-n | 显示使用 NFS 的文件 | +D | 递归处理所有子文件 |
-N | 显示 NFS 文件列表 |
【实例 1】查看当前系统中全部文件与进程的对应信息:
[root@clinux ~]# lsof COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 253,0 224 128 / systemd 1 root rtd DIR 253,0 224 128 / ………………省略部分输出信息………………
【实例 2】显示指定目录中被调用的文件信息:
[root@clinux ~]# lsof +d /root COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dbus-daem 2158 root cwd DIR 253,0 4096 33575041 /root gdm-wayla 2161 root cwd DIR 253,0 4096 33575041 /root gnome-ses 2164 root cwd DIR 253,0 4096 33575041 /root gnome-she 2223 root cwd DIR 253,0 4096 33575041 /root gvfsd 2240 root cwd DIR 253,0 4096 33575041 /root ………………省略部分输出信息………………
【实例 3】递归显示指定目录中全部被调用的文件信息:
[root@clinux ~]# lsof +D /root COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME pulseaudi 2147 root mem REG 253,0 696 781661 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-card-database.tdb pulseaudi 2147 root mem REG 253,0 12288 781660 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-stream-volumes.tdb pulseaudi 2147 root mem REG 253,0 8192 781659 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-device-volumes.tdb ………………省略部分输出信息………………