Linux:终止特定端口上的进程

Linux:终止特定端口上的进程

如果知道某个进程的端口,如何终止该进程?例如,如果某个进程正在端口上运行,12345那么如何在 linux/ubuntu 中终止该进程。

答案1

您可以使用

sudo netstat -tupln

显示正在监听哪个端口。您应该看到类似这样的内容(我稍微简化了输出)。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2472/apache2

第四列(在我的示例中为 0.0.0.0:80)将显示端口号(此处为 80),最后一列(2472/apache2)将显示 PID(2472)。

然后您可以发出

sudo kill -15 PID

其中 PID 是我们在上一个命令中找到的 PID。这将向进程发送 SIGTERM。如果失败,您可能需要

sudo kill -9 PID

但这通常是一种不太友好的终止进程的方式。有关更多信息,您应该查看

man kill

答案2

  1. 列出所有监听端口:

    网络状态监测

  2. 取相应的一个,比如说 80,然后使用以下命令将其杀死:

    杀死-9 $(lsof-i:80-t)

相关内容