如何查找占用指定端口的进程

有时启动tomcat,会启动失败,说端口已经被占用,那么到底是哪个程序占用了端口呢??
如何判断是哪个进程(程序)占用了指定的端口呢??
下面我会分两个平台(windows,linux)来进行详细说明

  1. windows 系统

通过如下命令查找占用指定端口的pid(进程id)

netstat -ano|findstr <指定的端口号>

例如,查找占用端口8080 的进程?
?
说明pid为1532 的进程占用了8080端口

然后,我们打开任务管理器,找到进程,?

那么如何杀死进程呢?

taskkill /pid 1532 /f

?
注意:"/pid"后面跟的就是pid

2 linux

通过如下命令查找占用指定端口的pid(进程id)

netstat -aonp |grep ":80[ ]\+"|awk -F" " {‘print $0‘}

这是查询占用80端口的进程?

说明pid为11116 的进程占用了80端口?
优化后如下:

netstat -aonp |grep "^[a-z]\+[ ]\+0[ ]\+0[ ]\+[0-9\.]\+:80[ ]\+"|awk -F" " {‘print $0‘}


那我们来验证一下?

果然是tomcat 占用了80端口.?
如何只显示pid呢?

netstat -anp |grep "^[a-z]\+[ ]\+0[ ]\+0[ ]\+[0-9\.]\+:80[ ]\+"|awk -F" " {‘print $7‘}|cut -d"/" -f1

那么在linux中如何杀死进程呢?

kill -9 11116

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。