我如何在Windows中使用localhost上的端口来终止当前进程? [关闭]

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

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

例如:localhost:8080

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

步骤1

以管理员身份运行命令行。然后运行以下提及的命令。在yourPortNumber

中输入端口号

netstat -ano | findstr:您的端口号

“”

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

步骤2

然后,在标识PID后执行此命令。

taskkill / PID 在此处输入您的PID / F

“”

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


4
投票

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

3
投票

[如果您想使用python来做:请勾选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 

0
投票

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

IISRESET


117
投票

步骤1(与answer写入的KavinduWije相同):

netstat -ano | findstr :yourPortNumber

将步骤2更改为:

tskill typeyourPIDhere 

注意taskkill在某些git bash命令中不起作用


86
投票

如果您使用的是GitBash

第一步:

netstat -ano | findstr :8080

第二步:

taskkill /PID typeyourPIDhere /F 

((/F强制终止该过程)


70
投票

使用WINDOWS10默认工具:

步骤1:以管理员身份打开Windows PowerShell

步骤2:查找端口8080的PID(ProcessID):

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 LISTEN 77777

步骤3:杀死僵尸进程:

taskkill /f /pid 77777

其中“ 77777”是您的PID


26
投票

Windows PowerShell版本1或更高版本中,要在端口3000上停止进程,请输入:

停止处理(,(netstat -ano | findstr:3000).split()| foreach {$ [[$。length-1]} -Force


如@morganpdx的建议,这里是一个更像PowerShell的更好的版本:

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


18
投票

用于命令行:

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

14
投票

如果您已经知道端口号,将足够的软件终止信号发送给该进程(SIGTERM):

kill $(lsof -t -i :PORT_NUMBER)

9
投票

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


8
投票

我正在运行zookeeper @windows,无法使用zookeeper-stop.sh停止在2181端口运行的zookeeper,因此尝试使用这种双斜杠“ //”方法来执行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.