Linux 查看端口是否被占用
场景说明
今天遇到一个同事问了一个问题:怎么查看系统某端口是否被占用,一下子把我问着了,作为一个不服输的人,下班后赶紧学习
环境说明
[hui@hadoop201 ~]$ cat /proc/version Linux version 3.10.0-1160.76.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Aug 10 16:21:17 UTC 2022 [hui@hadoop201 ~]$
lsof命令
lsof 是 list open files 命令简称,可以列出当前系统中打开的所有文件,包括网络端口。可以使用lsof命令查看某个端口被哪个进程占用。具体的命令为:sudo lsof -i :端口号,其中端口号为需要查询的端口号。刚才在测试环境启动了zk,测试下 2181 端口是否被占用
[hui@hadoop201 ~]$ lsof -i:2181 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 2321 hui 44u IPv6 122258 0t0 TCP *:eforward (LISTEN)
netstat命令
使用netstat命令:netstat命令可以显示网络连接、路由表和网络接口信息等。可以使用netstat命令查看某个端口被哪个进程占用.具体的命令为:sudo netstat -tlnp | grep 端口号,其中端口号为需要查询的端口号。
[hui@hadoop201 ~]$ netstat -tlnp | grep 2181 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::2181 :::* LISTEN 2321/java [hui@hadoop201 ~]$ netstat -tlnp | grep 2180 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)