在 Linux 上,我只需知道一个进程正在监听的端口就可以终止该进程fuser -k 9000/tcp
,那么在 MacOS 上如何做同样的事情呢?
答案1
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9
更改PortNumber
为您想要搜索的实际端口。
答案2
添加 -t 和 -i 标志可以lsof
进一步加快速度,因为无需使用 grep 和 awk。
lsof -nti:NumberOfPort | xargs kill -9
lsof
参数:
-n
避免主机名查找(可能会提高性能)-t
简洁的输出;仅返回进程 ID,以便于将输出通过管道传输到 kill-i
仅选择互联网地址匹配的文件
kill
参数:
-9
不可捕捉、不可忽视的击杀
答案3
你可以通过此命令查看端口是否打开
sudo lsof -i :8000
其中 8000 是端口号
如果端口开放,它应该返回一个包含进程 ID (PID) 的字符串。
复制此 PID 并
kill -9 PID
如果您需要查看所有开放的端口,您可以在网络实用程序应用程序中执行端口扫描。
答案4
- 检查端口是否打开
sudo lsof -i: {端口号}
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