mac下查找端口是否占用及关闭占用端口进程
· 阅读需 2 分钟
如何查找某个端口是否被占用:
我们查找下 3009 端口当前被谁占用
zhangzhi@moke:~/code/work$ lsof -i:3009
结果显示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 14937 zhangzhi 19u IPv4 0xc7e40c3b908f5c71 0t0 TCP *:pxc-ntfy (LISTEN)
可以看到一个node进程占用了 3009 端口.
如何关闭此进程:
zhangzhi@moke:~/code/work$ kill -9 14937
ok,这样就结束了占用 3009 端口的进程.
什么时候这个命令最有用
最典型的场景就是本地起服务时报 “address already in use”,或者你明明把终端关了,但端口还是没释放。这个时候先查端口、再找到进程,比盲目重启机器高效得多。
kill -9 不是唯一选项
如果进程只是普通占用,有时候先试试更温和的 kill PID 就够了,只有在进程不响应或者顽固不退出时,再使用 kill -9。因为 -9 属于强制终止,虽然直接,但也不会给程序留下清理资源的机会。
所以更稳的习惯是:先查占用,再判断进程性质,最后决定用哪种方式结束。
