📅  最后修改于: 2023-12-03 15:35:42.453000             🧑  作者: Mango
在 Windows 操作系统上,有时需要关闭某个端口所占用的进程,可能是因为还有其他进程需要占用该端口,或者因为该端口上的进程正在消耗过多的系统资源,或者该进程正在运行某些危险的操作。
本文将介绍如何使用 Shell-Bash 命令来关闭端口上的进程。
在执行本教程中的命令之前,请确保您已安装了 Bash。您可以在命令提示符中输入 bash
来检查 Bash 是否已安装。如果 Bash 安装成功,则会显示 Bash 命令提示符:$
。
要关闭端口上的进程,首先需要找出该端口的 PID。使用以下命令列出当前所有正在运行的进程及其 PID:
$ tasklist
该命令将显示所有正在运行的进程及其 PID、内存使用情况和其它信息。
找出要关闭的进程的 PID ,使其保留在一个变量中,以后使用。
$ PORT_PID=$(netstat -ano | findstr :<port_number> | awk '{print $5}' | sed 's/:/ /' | awk '{print $2}')
该命令使用 netstat
命令列出所有活动端口和其相关的进程。然后使用 awk
和 sed
命令从输出中提取 PID。最后,将该 PID 存储到 PORT_PID
变量中。在此命令中,将 "<port_number>" 替换为要关闭的端口号。
在将要关闭的进程的 PID 存储在变量中后,可以使用 taskkill
命令结束该进程。以下命令将使用存储在 PORT_PID
变量中的 PID 来结束进程。
$ taskkill /PID $PORT_PID /F
该命令使用 /PID
选项指定要结束的进程的 PID,并使用 /F
选项强制结束该进程。在此命令中,使用 $PORT_PID
变量来代替将要关闭的进程的 PID。
到此,已经成功关闭了指定端口的进程。可以再次运行 netstat
命令来验证该端口现在是否已被释放。
$ netstat -ano | findstr :<port_number>
在此命令中,将 "<port_number>" 替换为要关闭的端口号。如果该端口未被占用,那么该命令将不会产生任何输出。
Shell-Bash 命令是 Windows 操作系统上管理进程和端口的有用工具。执行上述命令可以方便地关闭某个端口所占用的进程,以便进行其他操作或释放系统资源。