如何删除已分配给端口的当前进程/应用程序?

例如:localhost:8080


当前回答

如果你使用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

其他回答

如果你可以在Windows上使用PowerShell,你只需要:

Get-Process -Id (Get-NetTCPConnection -LocalPort "8080").OwningProcess | Stop-Process

让我们自动化!

如果你像我一样经常遇到这个问题,创建一个.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'是运行它的词。

如果你喜欢! 在这里分享你是如何做到的

我们可以通过简单地重新启动IIS来避免这种情况,使用下面的命令:

IISRESET

有两种方法可以终止进程

选项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

我在Windows上运行zookeeper,无法使用zookeeper-stop.sh停止在2181端口运行的zookeeper,所以尝试了这个双斜线“//”方法来kill任务。它工作

     1. netstat -ano | findstr :2181
       TCP    0.0.0.0:2181           0.0.0.0:0              LISTENING       8876
       TCP    [::]:2181              [::]:0                 LISTENING       8876

     2.taskkill //PID 8876 //F
       SUCCESS: The process with PID 8876 has been terminated.