如何find基于端口的进程,并杀死他们呢?

根据端口号查找进程并全部杀死。

ps -efl | grep PORT_NUMBER | kill -9 process_found_previously 

如何完成最后一列?

ps -efl | grep PORT_NUMBER的问题 ps -efl | grep PORT_NUMBERPORT_NUMBER可能匹配ps的输出中的其他列(date,时间,pid,…)。 一个潜在的杀死狂欢,如果运行的根!

我会这样做:

 PORT_NUMBER=1234 lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill 

命令的细分

  • lsof -i tcp:${PORT_NUMBER} ) – 列出在该TCP端口上侦听的所有进程
  • awk 'NR!=1 {print $2}' ) – 忽略第一行,打印每一行的第二列
  • xargs kill ) – 将结果作为parameter passing给kill 。 可能有几个。

1.) lsof -w -n -i tcp:8080

2) kill -9 processId

build议使用fuser命令:

 fuser -k -TERM -n tcp ${PORT_NUMBER} 
 kill $( lsof -i:6000 -t ) 

或者,如果您需要权限:

 sudo kill $( sudo lsof -i:6000 -t ) 
 ... | awk '{ print $4 }' | xargs kill -9 

运行前请用“echo”而不是“kill”来testing

终止监听特定端口的所有进程,例如端口8864

 kill -9 $ \`lsof -i:8864 -t\` 

用你想要的端口replace8864。

sudo fuser -k 8080 / tcp

一个容易记住的大多数或所有unix运行良好的衬里。

这个语法可能比问题的date更近。