如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
当前回答
让我们自动化!
如果你像我一样经常遇到这个问题,创建一个.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'是运行它的词。
如果你喜欢! 在这里分享你是如何做到的
其他回答
我在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.
我们可以通过简单地重新启动IIS来避免这种情况,使用下面的命令:
IISRESET
我为此写了一个很小的node js脚本。就像这样运行它: node killPort.js 8080或任何你需要杀死的端口。保存如下文件到killPort.js文件中:
const { exec } = require('child_process');
const fs = require(`fs`);
const port = process.argv.length > 2 ? process.argv[2] : ``;
if (!port || isNaN(port)) console.log(`port is required as an argument and has to be a number`);
else {
exec(`netstat -ano | findstr :${port}`, (err, stdout, stderr) => {
if (!stdout) console.log(`nobody listens on port ${port}`);
else {
const res = stdout.split(`\n`).map(s => s.trim());
const pid = res.map(s => s.split(` `).pop()).filter(s => s).pop();
console.log(`Listener of ${port} is found, its pid is ${pid}, killing it...`);
exec(`taskkill /PID ${pid} /F`, (err, stdout, stderr) => {
if (!stdout) console.log(`we tried to kill it, but not sure about the result, please run me again`);
else console.log(stdout);
})
}
});
}
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
如果您已经知道端口号,那么向进程发送软件终止信号(SIGTERM)可能就足够了:
kill $(lsof -t -i :PORT_NUMBER)