Oneliner 命令使用kill给定的tcp端口号而不是PID?

Nik*_* R. 8 command-line bash scripts kill

我经常做例如

sudo netstat -lpn |grep :8088
Run Code Online (Sandbox Code Playgroud)

查看输出

tcp6       0      0 :::8088                 :::*                    LISTEN      11189/java
Run Code Online (Sandbox Code Playgroud)

进而

sudo kill -kill 11189
Run Code Online (Sandbox Code Playgroud)

我想要一个更方便的命令,就像killatport 8088使用 tcp 端口号作为变量一样,我可以将它作为管道的别名来执行我想要的操作,但是如何从输出和管道中获取 PID它的kill命令?我想我也许可以使用 awk 从 netstat 的输出中获取 PID,但是我如何保护和进行精确的端口匹配,以便输入 80 与 8080 不匹配,同样如此?我应该把它变成一个 C 程序吗?或者已经有这样的小工具了吗?

Flo*_*sch 10

热熔器可以做到这一点:

sudo fuser -KILL -k -n tcp 8088
Run Code Online (Sandbox Code Playgroud)