linux命令(lsof) -- 查看文件

由于没有正常退出程序,导致一些端口占用未被释放,可以通过 lsof 查看端口是被那个程序占用。如果需要可以关闭程序,释放端口:

  • lsof -i:[port]
  • kill -9 [PID]

lsof(list open files)

在 linux 环境下,任何事物都以文件的形式存在,系统在后台都为应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。 lsof(list open files)是一个查看当前系统文件的工具。

命令参数

命令参数 解释
-a 列出打开文件存在的进程
-c<进程名> 列出指定进程所打开的文件
-g 列出 GID 号进程详情
-d<文件号> 列出占用该文件号的进程
+d<目录> 列出目录下被打开的文件
+D<目录> 递归列出目录下被打开的文件
-n<目录> 列出使用 NFS 的文件
-i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号> 列出指定进程号所打开的文件
-u 列出 UID 号进程详情
-h 显示帮助信息
-v 显示版本信息

使用案例

  1. 由于没有正常退出程序,导致一些端口占用未被释放,可以通过 lsof 查看端口是被那个程序占用。如果需要可以关闭程序,释放端口:

    1
    2
    lsof -i:[port]
    kill -9 [PID]