有时候一个程序占用着某个端口,但是不知道占用该端口的程序的名称或者进程号,导致无法停掉这个程序。下面就是针对window和linux两个操作系统如何查看某个端口被哪个程序或者进程所占用。
linux端口占用解决办法
在linux下查看某个端口被占用有两种方法:
-
使用netstat命令
netstat -tunlp 会显示所有端口和所有对应的程序,如果像得到自己关系的结果,可以使用grep对结果集进行过滤。例如:
netstat -tunlp | grep java
这样就能过滤出只带有java进程的所有端口被占用的情况。
- 使用lsof -i:某个端口
使用lsof -i:22,可以查看22号端口被占用的程序,
通过这个命令,可以查看到相应的进程号,如果还想查看该进程的详细信息可以使用:
ps -ef | grep 进程号
windows端口被占用解决办法
查看所有的端口占用情况
netstat -ano
查找指定端口的占用情况
例如查找8080端口:
netstat -ano | findstr "8080"
通过查找端口号就能找到相应的进程号,通过查找相应的进程号就能找到相应进程的详细信息
查看对应PID对应的进程
tasklist | findstr "5555"
通过tasklist可以列出具体的进程信息
通过进程名,停止进程
taskkill /f /t /im xxx.exe
taskkill -PID <进程号> -F //强制关闭某个进程 ,例如:taskkill -PID 5555 -F
综上所述: 这样就可以结束这个被占用的端口。