按名称杀死特定端口上的进程

问题描述 投票:0回答:2

我有一个运行在端口3200上的进程,该进程与其他端口上的其他进程进行通信。

我知道我可以通过执行kill -9 $(lsof -t -i:3200)杀死给定端口上的进程。

我的问题是,lsof的输出还包含与我要杀死的进程进行通信的其他进程:

COMMAND         PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java          16379 tirafesi  102u  IPv6 156964      0t0  TCP localhost:41162->localhost:3200 (ESTABLISHED)
python3       16793 tirafesi    3u  IPv4 158199      0t0  TCP localhost:51101->localhost:3200 (ESTABLISHED)
processtokill 16802 tirafesi    8u  IPv4 156963      0t0  TCP *:3200 (LISTEN)
processtokill 16802 tirafesi   10u  IPv4 158788      0t0  TCP localhost:3200->localhost:51101 (ESTABLISHED)
processtokill 16802 tirafesi   11u  IPv4 156965      0t0  TCP localhost:3200->localhost:41162 (ESTABLISHED)

如何杀死端口3200上名为processtokill的进程?

shell kill lsof
2个回答
1
投票

您想杀死端口3200上正在监听的进程,所以:

kill -9 $(lsof -t -i:3200 -sTCP:LISTEN)

0
投票

我会尝试:

kill -9 $(lsof -i:3200 | grep ^processtokill | awk '{print $2}' | uniq)
© www.soinside.com 2019 - 2024. All rights reserved.