如何确定哪个进程正在侦听Windows上的TCP或UDP端口?
当前回答
只需打开命令shell并键入(端口为123456):
netstat -a -n -o | find "123456"
你会看到你需要的一切。
标题为:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:37 0.0.0.0:0 LISTENING 1111
这就是这里提到的。
其他回答
要获取与每个连接关联的所有所属进程ID的列表,请执行以下操作:
netstat -ao |find /i "listening"
如果要终止任何进程,请具有ID并使用此命令,以便端口变为空闲
Taskkill /F /IM PID of a process
Use:
netstat -a -o
这显示了在特定端口上运行的进程的PID。
记住进程ID,然后转到任务管理器和服务或详细信息选项卡,结束具有相同PID的进程。
因此,您可以在Windows中终止在特定端口上运行的进程。
在编程上,您需要iphlpapi.h中的东西,例如GetTcpTable2()。像MIB_TCP6ROW2这样的结构包含所有者PID。
只需打开命令shell并键入(端口为123456):
netstat -a -n -o | find "123456"
你会看到你需要的一切。
标题为:
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:37 0.0.0.0:0 LISTENING 1111
这就是这里提到的。
根据带有信息和击杀的答案,对我来说,将它们组合在一个命令中是有用的。您可以从cmd运行此命令以获取有关侦听给定端口的进程的信息(示例8080):
for /f "tokens=3 delims=LISTENING" %i in ('netstat -ano ^| findStr "8080" ^| findStr "["') do @tasklist /nh /fi "pid eq %i"
或者如果你想杀死它:
for /f "tokens=3 delims=LISTENING" %i in ('netstat -ano ^| findStr "8080" ^| findStr "["') do @Taskkill /F /IM %i
您也可以将这些命令放入bat文件中(它们略有不同-将%i替换为%%i):
文件portInfo.bat
for /f "tokens=3 delims=LISTENING" %%i in (
'netstat -ano ^| findStr "%1" ^| findStr "["'
) do @tasklist /nh /fi "pid eq %%i"
文件端口Kill.bat
for /f "tokens=3 delims=LISTENING" %%i in (
'netstat -ano ^| findStr "%1" ^| findStr "["'
) do @Taskkill /F /IM %%i
然后您可以通过cmd执行以下操作:
端口信息.bat 8080
or
端口Kill.bat 8080
推荐文章
- 为什么SCTP不常用/不为人所知
- 无法启动IIS Express Web服务器,注册URL失败,访问被拒绝
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 我可以在/etc/hosts中映射主机名*和端口*吗?
- 如何修改Play执行run命令时使用的默认端口(9000)?
- 有没有替换Windows (Visual C)的unistd.h ?
- 从Windows批处理文件设置系统环境变量?
- 连接网络共享时,如何提供用户名和密码
- 如何找到可用的端口?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?
- #定义WIN32_LEAN_AND_MEAN具体排除了什么?
- 如何通过windows命令行关闭TCP和UDP端口
- 最好的轻量级web服务器(只有静态内容)的Windows