33台词
通过台词找影片素材

在 Ubuntu Linux 中终止端口上的进程的 5 种方法

使用 Top、Netstat 或 lsof 标识进程

好吧,如果你打算杀死某个进程,你至少应该知道它的ID,所以在知道终止进程的方法之前,让我们学习两个命令,我们可以在Ubuntu Linux中使用它们来识别与侦听端口关联的正在运行的进程ID(PID)。

使用 Top 查找活动进程 ID (PID):

要查找进程以及在其上运行的服务,用户可以使用 TOP 实用程序:

top

它将列出所有活动进程,使用向下箭头键滚动列表并找到您要查找的内容。

use-to-TOP-to-identify-process-ID.webp

使用 netstat

另一个最常见的命令是 netstat,不仅在 Linux 中,我们还可以在 Windows 中使用它来查找端口和 PID 编号

要列出所有活动的 Intenet 端口:

sudo netstat -tulpn

或者,您可以使用:

ss

然而,如果您已经知道您想知道的进程 ID 的端口号,请使用:

sudo netstat -tulpn | grep :your_port_number

将 your_port_number 替换为要查找的确切端口号,该命令将显示进程 ID。

使用 lsof:

就像 netstat 一样,我们可以使用另一个命令“lsof”来查找特定端口的进程 ID。

sudo  lsof -i :your_port_number

查看屏幕截图以清楚地了解。

netstat-tp-list-ports-in-linux-1024x621.webp

方式 1:使用 Kill 终止的优雅过程

现在,您已经确定了要结束的服务或端口的 PID 是什么,我们可以使用 KILL 命令正常终止该进程。

语法:

kill <PID>

上述语法中的 <PID> 替换为要结束的实际进程 ID。此命令将向进程发送 SIGTERM 信号,允许其在终止前执行清理操作。

例:

kill 631
Graceful-linux-process-Termination-with-kill.webp

方式2:用杀戮强行终止

如果即使在运行 KILL 命令后,该过程也没有结束或响应 SIGTERM 信号,那么我们可以使用“-9”选项发出“SIGKILL”信号。它将强行结束这一进程。

kill -9 <PID>

再次将 <PID> 替换为实际的进程 ID,但是,此命令不会执行清理任务,而是立即结束进程,因此请谨慎使用。

方式3:pkill命令

Pkill 就像 kill 一样,但有更广泛的选项可供使用。甚至我们可以使用进程名称来发送终止信号。

语法

sudo pkill -f "<process_name>"

将 <process_name> 替换为要终止的进程的名称。当您知道进程名称但不知道 PID 时,这可能很有用。

例如,您希望使用名称,而不是使用进程 ID。假设您要结束 mysql 进程。

sudo pkill -f mysqld

方式4:热熔器命令

到目前为止,我们已经讨论了两个命令工具,用于使用其 ID 或名称终止进程。现在,如果要通过指定端口号来结束该过程,该怎么办?为此,我们有“fuser”命令,该命令可用于识别和终止使用特定端口的进程。

语法:

sudo fuser -k your_port_number/udp

将 your_port_number 替换为实际端口号。假设您要终止使用端口号 80 的服务或进程,那么使用 fuser 的命令将如下所示:

sudo fuser -k 80/tcp 

这会向使用指定端口的进程发送 SIGKILL 信号。

如果上面给出的命令没有终止进程,那么不要依赖默认信号,而是使用 -TERM 选项:

fuser -k -TERM port/udp or fuser -k -TERM port/tcp

示例

sudo fuser -k -TERM 80/tcp

方式5:使用killall

结束进程的另一种方法是使用“killall”命令,该命令也可以按名称终止进程。

语法

sudo killall <process_name>

 <process_name> 替换为要终止的进程的名称。这将终止指定进程的所有实例。

示例

sudo killall apache2
赞(0)
未经允许不得转载:33台词网 » 在 Ubuntu Linux 中终止端口上的进程的 5 种方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址