我经常在本地地址[::]:8080
上启动服务器。 要终止服务器,我需要从netstat -aon
获取PID
。
要终止这个服务器,我做taskkill /F /PID <found pid>
我想创buildWindowsbatch file,可以findPID并将其应用于调用taskkill /F /PID <found pid>
我怎样才能创build这样的batch file?
谢谢!
在我的PC上可能有一个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
@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
使用findstr
检索所需的记录,使用for
命令将其标记为获取PID列(第4个用于UDP,第5个用于TCP)并终止任务