Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows7中查询netstat以查找特定本地地址的PID?_Windows_Batch File_Netstat - Fatal编程技术网

如何在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并将其应用于call
taskkill/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