如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
当前回答
最简单的解决办法,也是我唯一记得的办法:
在Windows Powershell中
假设我们想停止端口8080上的进程
获取过程:
netstat -ano | findstr :8080
停止进程
stop-process 82932
其他回答
第一步(与KavinduWije所写的接受答案相同):
netstat -ano | findstr:yourPortNumber
第2步更改为:
tskill typeyourPIDhere
注意:taskkill在某些git bash终端中不起作用
你可以运行一个bat文件:
@ECHO OFF
FOR /F "tokens=5" %%T IN ('netstat -a -n -o ^| findstr "9797" ') DO (
SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
echo ProcessId to kill = %ProcessId%
taskkill /f /pid %ProcessId%
PAUSE
让我们自动化!
如果你像我一样经常遇到这个问题,创建一个.bat文件并运行它来结束进程。
创建一个bat文件"killport.bat"
set /P port="Enter port : "
echo showing process running with port %port%
netstat -ano|findstr "PID :%port%"
set /P pid="Enter PID to kill : "
taskkill /pid %pid% /f
set /P exit="Press any key to exit..."
通过双击和运行此文件
输入端口号(然后它将列出带有PID的进程) 输入PID kill
Done
(可选)
设置为path environment,以便您可以从任何地方访问此文件。
你很可能知道如何给env添加一个新路径。但如果你不这样做,你可以这样做
1 / 4
在开始菜单上搜索ENV
2 . 4步
选择环境变量
3 / 4步骤
选择“path”,然后点击编辑按钮
4 / 4步骤
点击“新建”添加。bat文件的存放路径。自从我把它存到…我正在添加这个路径。您的路径将取决于您保存该文件的位置。
打开CMD并测试。请记住,您的文件名将运行此文件的单词。因为我把。bat文件保存为'killport.bat' => 'killport'是运行它的词。
如果你喜欢! 在这里分享你是如何做到的
用于命令行:
for /f "tokens=5" %a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %a
用于蝙蝠档案:
for /f "tokens=5" %%a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %%a
如果你使用powershell 7+,这对我有用。只需在$PROFILE文件中添加此函数。
function killport([parameter(mandatory)] [string] $uport){
if($upid = (Get-NetTCPConnection -LocalPort $uport -ErrorAction Ignore).OwningProcess){kill $upid}
}
然后简单地使用killport 8080
或者如果你只喜欢命令,你可以试试这个:
kill $(Get-NetTCPConnection -LocalPort 8761 -ErrorAction Ignore).OwningProcess