如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
当前回答
步骤1:
打开cmd.exe(注意:您可能需要以管理员身份运行它,但这并不总是必要的),然后运行以下命令:
网络统计 -什么 |查找 :<PORT>
(将<PORT>替换为您想要的端口号,但保留冒号)
红色圈出的区域显示PID(进程标识符)。找到正在使用所需端口的进程的PID。
步骤2:
接下来,执行如下命令:
taskkill /PID <PID> /F
(这次没有冒号)
最后,您可以重新执行“步骤1”中的命令来检查操作是否成功。如果它是成功的,你不应该看到任何更多的搜索结果的端口号。
其他回答
步骤1:
打开cmd.exe(注意:您可能需要以管理员身份运行它,但这并不总是必要的),然后运行以下命令:
网络统计 -什么 |查找 :<PORT>
(将<PORT>替换为您想要的端口号,但保留冒号)
红色圈出的区域显示PID(进程标识符)。找到正在使用所需端口的进程的PID。
步骤2:
接下来,执行如下命令:
taskkill /PID <PID> /F
(这次没有冒号)
最后,您可以重新执行“步骤1”中的命令来检查操作是否成功。如果它是成功的,你不应该看到任何更多的搜索结果的端口号。
我在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.
下面是在WSL2中执行此操作的脚本
PIDS=$(cmd.exe /c netstat -ano | cmd.exe /c findstr :$1 | awk '{print $5}')
for pid in $PIDS
do
cmd.exe /c taskkill /PID $pid /F
done
如果你使用的是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让我们知道。
第一步
netstat -vanp tcp | grep 8888
例子
tcp4 0 0 127.0.0.1.8888 *.* LISTEN 131072 131072 76061 0
tcp46 0 0 *.8888 *.* LISTEN 131072 131072 50523 0
第二步:找到你的pid并杀死他们
对我来说
sudo kill -9 76061 50523