Linux系统中如何使用lsof和netstat命令来查看端口的占用情况

在Linux系统中,我们可以使用lsof和netstat命令来查看端口的占用情况。

lsof(list open files)是一个列出当前系统打开文件的工具。它提供了丰富的命令选项,方便我们查看端口占用情况。下面是一些常用的lsof命令示例:

  • 查看8000端口的占用情况:

    lsof -i:8000
    

    输出结果会显示占用该端口的进程信息,例如:

    COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
    nodejs  26993 root   10u  IPv4 37999514      0t0  TCP *:8000 (LISTEN)
    

    从输出结果中我们可以看到,端口8000已经被一个名为nodejs的服务占用。

  • 查看8080端口的占用情况:

    lsof -i:8080
    
  • 显示开启文件abc.txt的进程:

    lsof abc.txt
    
  • 显示名为abc的进程当前打开的文件:

    lsof -c abc
    
  • 列出进程号为1234的进程所打开的文件:

    lsof -c -p 1234
    
  • 显示归属于特定gid的进程情况:

    lsof -g gid
    
  • 显示某个目录下被进程开启的文件:

    lsof +d /usr/local/
    
  • 显示某个目录及其子目录下被进程开启的文件(搜索目录较慢):

    lsof +D /usr/local/
    
  • 显示使用文件描述符(fd)为4的进程:

    lsof -d 4
    

上述命令可以帮助您了解端口的占用情况。另外一个常用的命令是netstat,它可以显示TCP和UDP的端口以及相关的进程信息。以下是netstat命令的使用示例:

  • 查看所有TCP端口的情况:

    netstat -ntlp
    
  • 查看所有80端口的使用情况:

    netstat -ntulp | grep 80
    
  • 查看所有3306端口的使用情况:

    netstat -ntulp | grep 3306
    
  • 查看8000端口的情况:

    netstat -tunlp | grep 8000
    

最后,如果您需要终止占用端口的进程,可以使用kill命令,如下所示:

  • 杀死PID为26993的进程(占用8000端口的进程):
    kill -9 26993
    

使用以上命令,您可以方便地查看和处理Linux系统上端口的占用情况。

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 19:00:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 19:00:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 19:00:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 19:00:02       18 阅读

热门阅读

  1. 06_单元测试与反射

    2023-12-05 19:00:02       30 阅读
  2. vue3对象reactive()数据改变页面不刷新

    2023-12-05 19:00:02       34 阅读
  3. android11-隐藏状态栏和导航栏

    2023-12-05 19:00:02       25 阅读
  4. 【Rust与AI】概览和方向

    2023-12-05 19:00:02       28 阅读