如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
当前回答
你可以运行一个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
其他回答
步骤1:
打开cmd.exe(注意:您可能需要以管理员身份运行它,但这并不总是必要的),然后运行以下命令:
网络统计 -什么 |查找 :<PORT>
(将<PORT>替换为您想要的端口号,但保留冒号)
红色圈出的区域显示PID(进程标识符)。找到正在使用所需端口的进程的PID。
步骤2:
接下来,执行如下命令:
taskkill /PID <PID> /F
(这次没有冒号)
最后,您可以重新执行“步骤1”中的命令来检查操作是否成功。如果它是成功的,你不应该看到任何更多的搜索结果的端口号。
使用GitBash的一行解决方案:
tskill `netstat -ano | grep LISTENING | findstr :8080 | sed -r 's/(\s+[^\s]+){4}(.*)/\1/'`
将8080替换为服务器正在侦听的端口。
如果您需要经常使用它,请尝试添加到~/。Bashrc函数:
function killport() {
tskill `netstat -ano | findstr LISTENING | findstr :$1 | sed -r 's/^(\s+[^\s]+){4}(\d*)$/\1/'`
}
然后简单地运行
killport 8080
我使用GitBash和我错误如下时运行
taskkill //PID XXXX 错误:PID为7420的进程无法终止。原因:这 进程只能强制终止(使用/F选项)。
所以使用//F如下,工作良好
任务杀戮 //F //PID XXXX
在Windows PowerShell版本1或更高版本中停止端口3000上的进程:
Stop-Process (,(netstat -ano | findstr:3000).split() | foreach {$[$.length-1]}) -Force
根据@morganpdx的建议,这里有一个更像powershell的更好的版本:
Stop-Process -Id (get - netttcpconnection -LocalPort 3000)。OwningProcess force
有两种方法可以终止进程
选项01 -最简单和最简单 要求:npm@5.2.0^版本 以管理员身份打开命令提示符,并使用端口发出以下命令(这里的端口是8080)
npx kill-port 8080
选项02 -最常用
步骤1 以管理员身份打开Windows命令提示符 一步02 用下面的命令找到你想要杀死的端口的PID
netstat -ano|findstr "PID :8080"
TCP 0.0.0.0:8080 0.0.0.0:0监听18264
一步03 用下面的命令杀死上面收到的PID(在我的例子中PID是18264)
taskkill /PID 18264 /f