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

例如:localhost:8080


当前回答

如果你使用的是Windows终端,那么杀死过程可能不那么乏味。 我一直在使用windows终端,kill PID对我来说可以很好地杀死端口上的进程,因为新的windows终端支持某些bash命令。例如:杀死13300人

整个过程是这样的

打开Windows终端 键入以下命令以显示在您希望终止进程的端口上运行的进程。 netstat -ano | findstr:PORT 输入following终止进程。 杀死PID

例如:

PS C:\Users\username> netstat -ano | findstr :4445
  TCP    0.0.0.0:4445           0.0.0.0:0              LISTENING       7368
  TCP    [::]:4445              [::]:0                 LISTENING       7368
PS C:\Users\username> kill 7368
PS C:\Users\username> netstat -ano | findstr :4445
PS C:\Users\username>

当我输入第一个命令来列出端口上的进程时,它返回空。这意味着现在所有进程都被杀死了。

更新:kill是Stop-Process的别名。谢谢@FSCKur让我们知道。

其他回答

你可以运行一个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

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

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

我在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.

简单的CMD工作我。容易记住

找到你想杀死的端口号并运行下面的CMD

npx kill-port 8080

完成端口后停止并得到此消息

npx: installed 3 in 13.796s
Process on port 8080 killed

Windows 10/11默认工具:

第一步:

以管理员身份打开Windows PowerShell

第二步:

查找8080端口的PID (ProcessID):

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 listen 77777

第三步:

杀死僵尸进程:

taskkill /f /pid 77777

“77777”是你的PID