如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
如何删除已分配给端口的当前进程/应用程序?
例如:localhost:8080
当前回答
我为此写了一个很小的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);
})
}
});
}
其他回答
以管理员身份运行cmd。然后在里面输入这个代码。
netstat -ano | findstr :<8080>
然后您可以看到PID在端口上运行。然后复制PID编号。(PID是帮助识别硬件产品或已注册软件产品的唯一数字。)并键入下面的代码行和按enter。
taskkill /PID <Enter the copied PID Number> /F
我们可以通过简单地重新启动IIS来避免这种情况,使用下面的命令:
IISRESET
简单的CMD工作我。容易记住
找到你想杀死的端口号并运行下面的CMD
npx kill-port 8080
完成端口后停止并得到此消息
npx: installed 3 in 13.796s
Process on port 8080 killed
步骤1:
打开cmd.exe(注意:您可能需要以管理员身份运行它,但这并不总是必要的),然后运行以下命令:
网络统计 -什么 |查找 :<PORT>
(将<PORT>替换为您想要的端口号,但保留冒号)
红色圈出的区域显示PID(进程标识符)。找到正在使用所需端口的进程的PID。
步骤2:
接下来,执行如下命令:
taskkill /PID <PID> /F
(这次没有冒号)
最后,您可以重新执行“步骤1”中的命令来检查操作是否成功。如果它是成功的,你不应该看到任何更多的搜索结果的端口号。
打开命令提示符并发出下面的命令
netstat -ano|findstr "PID :8888"
输出将显示占用端口的进程id
发出下面的命令杀死PID
taskkill /pid 8912 /f
您将收到如下输出
SUCCESS: The process with PID 8860 has been terminated.