如何在Windows7中查询netstat以查找特定本地地址的PID?
我经常在本地地址如何在Windows7中查询netstat以查找特定本地地址的PID?,windows,batch-file,netstat,Windows,Batch File,Netstat,我经常在本地地址[:]:8080上启动服务器。要终止服务器,我需要从netstat-aon获取PID 要终止此服务器,我执行taskkill/F/PID 我想创建一个windows批处理文件,该文件可以找到PID并将其应用于calltaskkill/F/PID 如何创建这样的批处理文件 谢谢 在我的电脑上可能有UDP或TCP连接,它们需要的代码稍有不同: 测试此项以查看其中一个taskkill命令是否正确,并删除echo以启用taskkill命令 @echo off for /f "tokens
[:]:8080
上启动服务器。要终止服务器,我需要从netstat-aon
获取PID
要终止此服务器,我执行taskkill/F/PID
我想创建一个windows批处理文件,该文件可以找到PID并将其应用于calltaskkill/F/PID
如何创建这样的批处理文件
谢谢 在我的电脑上可能有UDP或TCP连接,它们需要的代码稍有不同:
测试此项以查看其中一个taskkill命令是否正确,并删除
echo
以启用taskkill命令
@echo off
for /f "tokens=5" %%a in ('netstat -aon ^|find " [::]:8080 " ^|find /i " TCP " ') do echo taskkill /F /PID %%a
for /f "tokens=4" %%a in ('netstat -aon ^|find " [::]:8080 " ^|find /i " UDP " ') do echo taskkill /F /PID %%a
使用findstr
仅检索所需的记录,使用for
命令对其进行标记,以获取PID列(第四个用于UDP,第五个用于TCP)并终止任务
@echo off
setlocal enableextensions
set "port=8080"
for /f "tokens=1,4,5" %%a in (
'netstat -aon ^| findstr /r /c:"[TU][CD]P[^[]*\[::\]:%port%"'
) do if "%%a"=="UDP" (taskkill /F /PID %%b) else (taskkill /f /PID %%c)
endlocal