如何通过Mac OS La Fuser -k 9000 / tcp上的端口杀死进程


15

在linux上,我可以仅使用正在侦听的端口就可以杀死一个进程fuser -k 9000/tcp,在MacOS上该怎么办?

Answers:


20
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9

更改PortNumber为您要搜索的实际端口。


2
我只需要加点-9最后才能使它起作用,但是我认为这是由于侦听应用程序的性质,而不是通常不推荐的做法kill -9
克里斯(Kris)

@Kris-lsof -P | grep':NumberOfPort'| awk'{print $ 2}'| xargs kill -9起作用了!
王牌。

12

在lsof中添加-t和-i标志可以通过消除对grep和awk的需求来进一步提高速度。

lsof -nti:NumberOfPort | xargs kill -9

2
比接受的答案更有效,更简洁!
大富翁

1
用这种方法可以更快
daleyjem

2

将-n添加到lsof中,然后从命令中删除反向DNS查找,并将运行时间从几分钟减少到几秒钟。

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9

2

您可以查看是否通过此命令打开了端口

 sudo lsof -i :8000

其中8000是端口号

如果端口是开放的,则应返回包含进程ID(PID)的字符串。

复制此PID,然后

kill -9 PID

如果需要查看所有打开的端口,则可以在Network Utility应用程序中执行“端口扫描”。


1
  1. 检查您的端口是否打开

sudo lsof -i:{PORT_NUMBER}

COMMAND PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    582 Thirumal  300u  IPv6 0xf91b63da8f10f8b7      0t0  TCP *:distinct (LISTEN)

2.通过终止进程PID关闭端口

sudo kill -9 582

0

您可以使用kill -9 $(lsof -i:PORT -t) 2> /dev/null,其中PORT是您的实际端口号。它将终止在给定端口上运行的进程。


您正在重复对方的回答
亚斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.