欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux、windows命令学习之查看端口占用以及关闭相应的进程 博客分类: linux linuxWindows端口占用 

程序员文章站 2024-03-17 23:49:58
...

在linux服务器端排查问题时,有时会遇到某个端口被多个应用程序占用,或杂windows开发时,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 :

Windows环境下:

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"

C:\Users\Administrator>netstat -ano
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING 3012
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING 3012
TCP 0.0.0.0:13 0.0.0.0:0 LISTENING 3012
TCP 0.0.0.0:17 0.0.0.0:0 LISTENING 3012
TCP 0.0.0.0:19 0.0.0.0:0 LISTENING 3012
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 332
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 3348
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:902 0.0.0.0:0 LISTENING 3112
TCP 0.0.0.0:912 0.0.0.0:0 LISTENING 3112
TCP 0.0.0.0:2869 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2964

假如我们需要确定谁占用了我们的2964端口,在命令行输入以下命令:


C:\Users\Administrator>netstat -ano|findstr "2964"
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2964
发现端口被进程PID为2964的应用占用

 查看进程PID为2964的应用是什么应用?在命令行输入以下命令:


C:\Users\Administrator>tasklist|findstr 2964
mysqld.exe 2964 Services 0 10,828 K

 结束该应用进程,输入以下命令:

C:\>taskkill /f /t /im mysqld.exe

 

linux环境下:

1.查找被占用的端口

 netstat -tln

 netstat -tln | grep 8080

 netstat -tln 查看端口使用情况,而netstat -tln | grep 8080则是只查看端口8080的使用情况

 

 

 

2.查看端口属于哪个程序?端口被哪个进程占用

 

lsof -i:8060

 

 COMMAND   PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME

Java    20804   root   36u  IPv6 35452317      0t0  TCP *:pcsync-https (LISTEN)

 

 

3.杀掉占用端口的进程  根据pid杀掉

 

kill -9 进程id  

kill -9 20804