如何查看某个端口被谁占用
Linux
使用 netstat 查看
netstat 能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。目前netstat 已经过时了,都推荐使用ss来代替。
1 2 3 | netstat -tnlp | grep :22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6806/sshd tcp6 0 0 :::22 :::* LISTEN 6806/sshd |
同理,要查看到所有程序需要有root权限。
使用 lsof 查看
lsof(list open files)是一个列出系统上被进程打开的文件的相关信息。
1 2 3 | lsof -i tcp:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 6806 root 3u IPv4 147399 0t0 TCP *:ssh (LISTEN)sshd 6806 root 4u IPv6 147401 0t0 TCP *:ssh (LISTEN) |
同理,要查看到所有程序需要有root权限。
注:如果没有lsof这个命令,CentOS可以用yum install lsof来安装。
杀死进程
1 | kill -9 8606 |
8606键入对应的PID
Window
cmd输入命令:netstat -ano,列出所有端口的情况。
查看被占用端口对应的PID,输入命令:netstat -aon|findstr "9000"
回车,记下最后一位数字,即PID,这里是4812
继续输入tasklist|findstr "4812",回车,查看是哪个进程或者程序占用了4812端口,结果是:ZendStudio.exe
结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im ZendStudio.exe
或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
则我们点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。
这样我们就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,我们把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!