linux:查看端口占用情况两种方式

文章目录

    • 1、lsof
      • 语法
      • 实例
    • 2、netstat
      • 语法
      • 实例
    • kill

Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。

1、lsof

lsof(list open files)是一个列出当前系统打开文件的工具。

语法

lsof 查看端口占用语法格式:

lsof -i:端口号

实例

例如:
在 7001 端口开启了一个 node 服务,我们查看一下 7001 端口

lsof -i:7001

在这里插入图片描述

  • COMMAND:进程的名称
  • PID:进程标识符
  • USER:进程所有者
  • FD:文件描述符,应用程序通过文件描述符识别该文件,如 cwd、txt 等
  • TYPE:文件类型,如DIR、REG等
  • DEVICE:指定磁盘的名称
  • SIZE:文件的大小
  • NODE:索引节点(文件在磁盘上的标识)
  • NAME:打开文件的确切名称

2、netstat

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

语法

netstat 查看端口占用语法格式:

netstat -tunlp | grep 端口号
  • -t (tcp) 仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化为数字
  • -l 仅列出在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名

实例

在 centOS 上执行是没有问题的
在这里插入图片描述
但是在 mac 上会有一些问题
linux:查看端口占用情况两种方式_第1张图片
原因是:mac 上 -f 需要加上地址族,-p 需要加上协议TCP或者UDP等

  • 如果需要查询inet:netstat -anvf inet
  • 如果需要查询TCP:netstat -anvp tcp
  • 如果需要查询UDP:netstat -anvp udp

我们这样改:
在这里插入图片描述

kill

在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:

kill -9 PID

你可能感兴趣的:(运维)