根据端口号查找进程并全部杀死它们。如何找到基于端口的进程并将其全部杀死?
ps -efl | grep PORT_NUMBER | kill -9 process_found_previously
如何完成最后一列?
根据端口号查找进程并全部杀死它们。如何找到基于端口的进程并将其全部杀死?
ps -efl | grep PORT_NUMBER | kill -9 process_found_previously
如何完成最后一列?
的问题ps -efl | grep PORT_NUMBER
“回声”,而不是“杀死”之前测试是PORT_NUMBER
可以以ps
输出相匹配的其他列,以及(日期,时间,PID,。 ..)。一个潜在的杀死狂欢,如果由root运行!
我会做这个:命令
lsof -i tcp:${PORT_NUMBER}
)的 PORT_NUMBER=1234
lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill
击穿 - 名单是在这个TCP端口
awk 'NR!=1 {print $2}'
)上侦听所有进程 - 忽略第一行,每行打印第二列xargs kill
) - 将结果作为参数传递给kill
。可能有几个。... | awk '{ print $4 }' | xargs kill -9
请与运行
请不要`kill -9` http://partmaps.org/era/unix/award.html#uuk9letter – 2011-02-18 16:58:07
@NathanKidd那个链接是德语的吗?_> – Drax 2015-05-27 09:28:15
@NathanKidd链接已经死了,但是这里有一个SO关于它的讨论http://stackoverflow.com/questions/690415/in-what-order-should-i-send-signals-to-gracefully-shutdown-processes。 – 2017-01-26 16:24:44
提出使用定影器命令:
fuser -k -TERM -n tcp ${PORT_NUMBER}
杀死所有进程监听某个特定的端口,例如端口8864
kill -9 $ \`lsof -i:8864 -t\`
将8864替换为您想要的端口。
kill $(lsof -i:6000 -t)
,或者您需要的权限:
sudo kill $(sudo lsof -i:6000 -t)
1)lsof -w -n -i tcp:8080
2)kill -9 processId
须藤定影-k 8080/TCP
一个容易记住的在大多数或所有unix中运行良好的衬管。
此语法可能比问题的日期更近。
定影器(下图)更简单 – Federico 2016-09-28 20:12:02
这太好了。现在有一个可爱的小别名: `killport(){ lsof -i tcp:$ 1 | awk'NR!= 1 {print $ 2}'| xargs kill }` 杀死端口现在只是一个例子,例如:`killport 3984` – 2016-12-09 12:40:53