如何终止在特定 IP 和端口上运行的进程?

Ste*_*hen 3 command-line networking process kill ubuntu

我想知道,有没有办法杀死在本地 IP 和端口上的 Ubuntu 14.04 上的特定 IP端口上运行的进程?最好是在一个命令中,但如果不是,bash 脚本也可以。

Ste*_*uch 6

可能有更清洁的方法,但大致如下:

netstat -lnp | grep 'tcp .*127.0.0.1:9984' | sed -e 's/.*LISTEN *//' -e 's#/.*##' | xargs kill
Run Code Online (Sandbox Code Playgroud)


Rav*_*ina 5

使用ss我们可以获得正在侦听特定 IP 和端口的进程/连接的详细信息,对于 src127.0.0.1和 port 80

sudo ss -lp  '( dport = :80 )' src 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

那么我们只能得到PID使用的grep,并使用他们全部杀死xargskill

sudo ss -lp  '( dport = :80 )' src 127.0.0.1 | grep -Po "(?<=pid=).*(?=,)"\
| sort | uniq | xargs kill
Run Code Online (Sandbox Code Playgroud)

您还可以使用-aswitch 而不是-l获取所有侦听和非侦听套接字的列表。