查看Linux下端口占用情况
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-n : 不进行DNS轮询,显示IP(可以加速操作)
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-t (tcp)仅显示tcp相关选项
-u (udp) 仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen的服务状态
-p 显示建立相关链接的程序名
即可显示当前服务器上所有端口及进程服务,与grep结合可查看某个具体端口及服务情况··
netstat查看端口号占用方式:
直接使用 netstat -anp | grep portno 即:netstat -anp|grep 8080
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
发现8080端口被PID为9658的Java进程占用
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用方式:
lsof -i 需要 root 用户的权限来执行
安装 yum install lsof
具体参数信息如下:
更多 lsof 的命令如下:
第一步:使用lsof -i:3306 或者 netstat -tunlp | grep 3306 查询端口占用的进程,找到pid 第二步:使用ps -aux | grep 16422 查看进程的详细信息 第三步:kill
或者
找到pid 然后