使用Killport停止Linux特定端口的进程
作者:admin 时间:2026-3-18 10:55:34 浏览:KillPort是一个CLI工具,它提供了一个简单的解决方案,通过端口号停止进程,从而解决了用户难以识别打开端口背后的进程的问题。
通过这种方式,你不必遵循传统的方法,即找到打开的端口,然后查找该端口背后的负责进程,然后找到进程PID,然后停止它。
相反,你所需要做的就是将端口号作为参数传递给KillPort命令,然后它将通过发送“SIGTERM”信号立即停止该端口后面的进程。
在本文中,我将向你展示它的特性,如何在Linux上安装KillPort,如何列出打开的端口,然后通过使用KillPort的端口号来停止它。

| 描述 | Killport:杀死监听特定端口的进程 |
| 难度等级 | 低 |
| Root或Sudo权限 | 是 |
| 操作系统兼容性 | Linux、Windows和macOS |
| 先决条件 | - |
| 互联网使用 | 是(用于安装) |
Killport的特点
以下是Killport的突出功能列表:
- 它是跨平台的,可用于Linux、Windows和macOS。
- 按端口号杀死进程。
- 你可以一次杀死多个端口。
- 指定要发送的“SIGHUP"、“SIGKILL"或“SIGTERM”信号。
- 使用verbose选项接收详细的输出。
如何在Linux上安装Killport
有多种方法可以在所需的Linux发行版上安装KillPort;推荐的方法是使用“brew”命令。因此,如果你在Linux系统上安装了Homebrew,则可以使用以下命令(它也适用于macOS)。
$ brew install killport
如果你在Linux、Windows或macOS上安装了Cargo包管理器,则可以使用以下命令轻松安装:
$ cargo install killport
最后,在Linux和macOS上,如果你愿意,可以使用curl命令使用其安装脚本(不推荐)。该脚本将自动下载最新的二进制包,并将其放置在用户的“/bin”目录中。
注意
确保你的$PATH环境变量包括“$HOME/.local/bin”。如果你不确定如何做到这一点,只需添加这一行:“export PATH="$HOME/.local/bin:$PATH”在shell配置文件的末尾(对于bash是“~/.bashrc”)。
$ curl -sL https://bit.ly/killport | sh
完成后,你可以运行以下命令以确认其在Linux系统上的成功安装:
$ killport --help
输出:

使用Killport
一旦安装了端口号,你就可以开始根据它们的端口号杀死进程。为了展示它的用法,我将首先使用“ss“或“netstat”命令检查我的Linux系统上所有开放端口的列表:
$ ss -tulpn
#或者
$ netstat -tulpn
输出:

在上面的图片中,端口“80”和“88”被显示为处于LISTEN状态,由Nginx和Apache2处理。要停止这些打开的端口中的一个或两个,你可以使用以下命令:
你可以轻松地终止用户启动的进程,但系统级进程需要root或sudo权限。
# 下面命令杀掉80端口
$ sudo killport 80
# 下面命令一次杀掉80 88端口
$ sudo killport 80 88
输出:

看,你已经成功终止了负责侦听端口“80”和“88"的两个进程。为了证明这一点,我将重新检查Linux系统上所有开放端口的列表。

如果你注意到,提到的两个端口不在列表中。现在,你可能会认为在输出中有一个“[ERROR] ESRCH: No such process”消息,这使得它看起来似乎从来没有这样一个进程,并且没有任何东西被终止。那么,我的朋友,你错了。
我们在输出中接收到的消息是发送给进程的最后一个信号,确保目标进程被终止。要确认,你可以使用“-v”标志启用详细模式,并亲自查看此消息是否显示在末尾。
$ sudo killport -v 80 88
输出:

最后,要使用特定的“SIGHUP"、“SIGKILL"或“SIGTERM”信号终止进程,可以使用“-s”标志。但是,如果你不确定它们之间的差异,你可以参考下表:
| 信号名称 | 信号值 | 行为 |
|---|---|---|
| SIGHUP | 1 | Hangup(不太安全的方式) |
| SIGKILL | 9 | Kill Signal(强制) |
| SIGTERM | 15 | 终止(默认和最安全) |
因此,要通过发送“80”信号来杀死负责端口“88”和“SIGKILL”的进程,请使用以下命令:
$ sudo killport -v 80 88 -s sigkill
输出:

就这样,这篇文章到此结束,我觉得这个工具相当惊人,因为找到进程PID,然后杀死它。我们通常知道哪些端口是自救启动的,并且可以很容易地识别它们,所以当它们不需要时,我可以使用“killport”命令快速杀死它们。



