如何在windows中使用localhost上的端口杀死当前进程? [关闭]

问题描述 投票:293回答:12

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

例如:localhost:8080

windows cmd localhost port command-prompt
12个回答
704
投票

步骤1

以管理员身份运行命令行。然后运行下面提到的命令。在yourPortNumber中键入您的端口号

netstat -ano | findstr:yourPortNumber

红色圆圈区域显示PID(进程标识符)

第2步

然后在识别PID后执行此命令。

taskkill / PID typeyourPIDhere / F.

附:再次运行第一个命令以检查进程是否仍然可用。如果进程成功结束,您将获得空行。


3
投票

如果你想用python做它:check Is possible in python kill process which is running on specific port, for example 8080?来自Smunk的答案效果很好。我在这里重复他的代码:

from psutil import process_iter
from signal import SIGTERM # or SIGKILL

for proc in process_iter():
    for conns in proc.connections(kind='inet'):
        if conns.laddr.port == 8080:
            proc.send_signal(SIGTERM) # or SIGKILL
            continue 

3
投票

您可以通过运行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

0
投票

我们可以通过使用bellow命令简单地重新启动IIS来避免这种情况。

IISRESET


90
投票

第1步(同样是在answer写的接受的KavinduWije中):

netstat -ano | findstr :yourPortNumber

将步骤2更改为:

tskill typeyourPIDhere 

这是因为taskkill在某些git bash命令中不起作用


76
投票

如果你正在使用Git Bash

第一步:

netstat -ano | findstr :8080

第二步:

taskkill /PID typeyourPIDhere /F 

/F强行终止了这个过程)


29
投票

使用WINDOWS 10默认工具:

步骤1:查找端口8080的PID(进程ID):

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 LISTEN 11999

第2步:杀死僵尸进程:

taskkill /F /PID 11999

其中“11999”是你的PID


22
投票

在Windows PowerShell版本1或更高版本中停止端口3000上的进程类型:

Stop-Process(,(netstat -ano | findstr:3000).split()| foreach {$ [$ .length-1]}) - 强制


正如@morganpdx所说,这是一个更好的PowerShell-ish,更好的版本:

Stop-Process -Id(Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force


15
投票

用于命令行:

for /f "tokens=5" %a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %a

用于bat文件:

for /f "tokens=5" %%a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %%a

9
投票

如果您已经知道端口号,那么将软件终止信号发送到进程(SIGTERM)可能就足够了:

kill $(lsof -t -i :PORT_NUMBER)

8
投票

对于Windows用户,您可以使用CurrPorts工具轻松杀死使用中的端口enter image description here


6
投票

我在运行zookeeper @windows,无法使用zookeeper-stop.sh阻止动物园管理员在2181端口运行,所以尝试了这个双斜杠“//”方法来taskkill。有效

     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.
© www.soinside.com 2019 - 2024. All rights reserved.