linux 查看端口占用情况

开发过程中,经常遇到“xx端口被占用”的报错信息,一种解决方法就是kill掉占用端口的进程。那么问题来了,如何知道哪个进程占用了该端口呢?

1. lsof (推荐)

lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,包括网络连接和硬件。

#查看80端口占用
lsof -i:80
# kill 进程
kill -9 {pid}

特点:

  • 适用性广,centos,ubuntu,macOS都ok的。
  • 会列出进程PID,方便kill。

2. netstat

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等

# 查看8080端口占用
netstat -anp | grep 8080
netstat 常用参数解释
-a列出所有端口
-l仅列出监听端口(默认)
-n拒绝显示别名,能显示数字的全部转化成数字
-p显示建立相关链接的程序名/pid
-t(tcp)仅显示tcp相关选项
-u(udp)仅显示udp相关选项
注意

以上命令都是查询当前用户的进程,要查看所有进程,需加上sudo,或者登录root用户。

    原文作者:醉里挑灯看剑422
    原文地址: https://www.jianshu.com/p/fbe4bca19b6b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞