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

Modified on: Thu, 14 Jun 2018 05:18:53 +0800

我经常这样做。

sudo netstat -lpn |grep :8088

查看输出

tcp6       0      0 :::8088                 :::*                    LISTEN      11189/java

然后

sudo kill -kill 11189

我希望有一个更方便的命令,就像killatport 8088一样,它使用tcp端口号作为变量,并且我可以将其作为管道的别名,做到我想要的,但是如何从输出中获取PID并将其传递给kill命令?我想我可以使用awk从netstat的输出中获取PID,但是如何保护并确保精确的端口匹配,以使输入80与8080不匹配?我应该改为C程序吗?或者是否已经有这样的小实用程序?

最佳答案

fuser可以做到这一点:

sudo fuser -KILL -k -n tcp 8088

相关问答

添加新评论